메뉴 건너뛰기

프로그래밍


구글의 개발자콘솔 UI은 수시로 변경되고,

파이선의 라이브러리 버전도 수시로 변경되면서 언제나 적용가능한 방법의 '스냅샷'은 변경되고 있습니다.

이에, 이 방법도 언제 수정이 필요할지 모르겠네요. 혹, 그새 변경이 되었다거나 한다면 댓글등으로 피드백 부탁드립니다^^


1. 가장 먼저 구글 개발자 콘솔에 접속하고 로그인 하세요. 구글개발자 콘솔 가기 >


2. 좌측의 API 관리자 메뉴에서 "사용자 인증 정보" 클릭


3. 사용자 인증정보 만들기 > 서비스 계정 키 > App Engine Default Service account 를 선택합니다.


4. 키 유형을 JSON으로 선택합니다.


5. 생성 클릭!


6. 생성된 JSON 파일을 다운로드 받습니다.


7. 다운로드 받은 JSON 파일을 에디터에서 엽니다.


8. "client_email"에 해당하는 계정을 복사합니다.


9. 구글 스프레드시트 서비스에 진입합니다.


10. 사용코자 하는 스프레드시트 하나를 생성한 후 우측상단의 '공유'버튼을 클릭합니다.


11. 공유 대상자에 방금 복사한 계정을 붙여넣어 공유를 시작합니다.


12. JSON 파일의 이름을 다루기 쉽도록 'mykey.json"등으로 변경합니다.


13. 아래에 나열된 패키지들을 설치합니다. 즉, 아래에 나열된 순서로 입력해주세요.

pip install gspread
pip install oauth2client==1.5.2
pip install PyOpenSSL


* 위의 두번째 명령이 중요합니다.

1.5.2 버전이 아닌 그 상위버전이나 최신버전을 설치하시면 인증과정중에 오류가 발생합니다.

아래와 같은 내용의 오류입니다.

    from oauth2client.client import SignedJwtAssertionCredentials
ImportError: cannot import name 'SignedJwtAssertionCredentials'

이유를 파악하느라 가장 고생했던 부분이네요.


 

13. 아래와 같이 테스트 코드를 작성합니다.


import json
import gspread
from oauth2client.client import SignedJwtAssertionCredentials


SPREAD_SHEET_NAME = "GUNMAN" #잠시전 생성한후 공유했던  스프레드시트의 이름입니다

json_key = json.load(open('mykey.json'))
scope = ['https://spreadsheets.google.com/feeds']

credentials = SignedJwtAssertionCredentials(json_key['client_email'], json_key['private_key'].encode(), scope)

gc = gspread.authorize(credentials)

wks = gc.open(SPREAD_SHEET_NAME).sheet1
wks.update_acell('A1', "Hello, gunman !")


이상입니다. 행운을 빕니다!^^





번호 제목 글쓴이 날짜 조회 수
공지 [TIP] PYTHON 에서 "UnicodeDecodeError: 'cp949' codec can't decode byte 0xe2 in position 6987: illegal multibyte sequence" 오류 날때... [18] 파이팅건맨 2016.02.20 48952
공지 [TIP] JQuery와 PHP로 이미지 파일을 업로드 하는 간단한 소스 (How to upload image file on PHP server by using JQuery) 파이팅건맨 2015.04.03 7904
공지 [TIP] php로 기상청에서 제공하는 기상정보 API 호출하기 파이팅건맨 2017.01.17 4830
146 [TIP] R에서 페이스북 페이지 정보 크롤링 하기 [6] 파이팅건맨 2017.02.11 4090
145 [TIP] 네이버 영화 정보와 전문가 평점 얻어오기 파이팅건맨 2017.02.10 3075
144 [TIP] 네이버 오픈 API를 로컬 PC에서 호출하기 파이팅건맨 2017.02.01 1097
143 [TIP] php로 기상청에서 제공하는 기상정보 API 호출하기 파이팅건맨 2017.01.17 4830
142 [TIP] node 에서 Basic authentication 인증과 함께 http, https 요청하기 파이팅건맨 2016.09.01 757
141 [TIP] node의 lambda-local 테스트 팁 파이팅건맨 2016.08.19 534
140 [TIP] 데이터를 Node에서 암호화하고 PHP에서 복호화 하기 파이팅건맨 2016.08.19 582
139 [TIP] Docker상의 Syntaxnet 결과 포맷을 수정하기 파이팅건맨 2016.08.07 1542
138 [TIP] SyntaxNet을 Windows에서 실행하기 [1] 파이팅건맨 2016.05.25 663
137 [TIP] TensorFlow를 윈도우에서 사용하기 (A way to use TensorFlow on Windows) [3] 파이팅건맨 2016.04.16 3963
136 [TIP] 파이선으로 TED에서 가장많이 사용된 단어들 줄세우기 파이팅건맨 2016.04.03 1168
» [TIP] 파이선에서 구글 스프레드시트 사용하기 [5] 파이팅건맨 2016.03.27 3978
134 [TIP] 파이선에서 리스트를 사용하는 재미있는 예제 파이팅건맨 2016.03.15 607
133 [TIP] PYTHON 에서 "UnicodeDecodeError: 'cp949' codec can't decode byte 0xe2 in position 6987: illegal multibyte sequence" 오류 날때... [18] 파이팅건맨 2016.02.20 48952
132 [TIP] 퍼포먼스를 높여주는 몇가지 코딩 예 파이팅건맨 2016.01.22 476
131 [TIP] JQuery와 PHP로 이미지 파일을 업로드 하는 간단한 소스 (How to upload image file on PHP server by using JQuery) 파이팅건맨 2015.04.03 7904
130 [TIP] 자작 커널을 위한 인터럽트 벡터 수정 (EZ-2410보드 대상) 파이팅건맨 2013.05.04 611
129 위치추적 [1] 우람사랑 2013.04.06 453
128 [TIP] MySQL - NaviCat 사용시 에러 확인방법 파이팅건맨 2010.02.23 953
127 [TIP] 설치된 코덱 리스트 얻어오기 파이팅건맨 2010.02.18 829
위로