메뉴 건너뛰기

프로그래밍


구글의 개발자콘솔 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 !")


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





profile
  • 무슨 프로그램 사용하셨나요.


    우분투 터미널,

    아나콘다 주피터 QT콘솔,

    IDLE

    다 써 봤는데 ㅠㅜ


    pip 부터 막히네요

  • 아닙니다. 해결 했습니다.

    프롬프트로 가서 pip를 설치하는 거였군요 ㅇㅅㅇ

  • 도움 많이 받았습니다. 다만 oauth2client 패키지 최신 버전으로 설치해도 문제없으나 위에 제시된 테스트 코드를 약간 수정해야 합니다.

    아래 주소로 접속하셔서 6번 항목 보시면 oauth2client 패키지 최신 버전사용시 작성하는 코드가 나와 있습니다.

    http://gspread.readthedocs.io/en/latest/oauth2.html

제목 날짜
[TIP] PYTHON 에서 "UnicodeDecodeError: 'cp949' codec can't decode byte 0xe2 in position 6987: illegal multibyte sequence" 오류 날때... 4 2016.02.20
[TIP] JQuery와 PHP로 이미지 파일을 업로드 하는 간단한 소스 (How to upload image file on PHP server by using JQuery) 2015.04.03
[TIP] TensorFlow를 윈도우에서 사용하기 (A way to use TensorFlow on Windows) 3 2016.04.16
[TIP] TensorFlow를 윈도우에서 사용하기 (A way to use TensorFlow on Windows) 3 2016.04.16
[TIP] 파이선으로 TED에서 가장많이 사용된 단어들 줄세우기 2016.04.03
[TIP] 파이선에서 구글 스프레드시트 사용하기 5 2016.03.27
[TIP] 파이선에서 리스트를 사용하는 재미있는 예제 2016.03.15
[TIP] PYTHON 에서 "UnicodeDecodeError: 'cp949' codec can't decode byte 0xe2 in position 6987: illegal multibyte sequence" 오류 날때... 4 2016.02.20
[TIP] 퍼포먼스를 높여주는 몇가지 코딩 예 2016.01.22
[TIP] JQuery와 PHP로 이미지 파일을 업로드 하는 간단한 소스 (How to upload image file on PHP server by using JQuery) 2015.04.03
자작 커널을 위한 인터럽트 벡터 수정 (EZ-2410보드 대상) 2013.05.04
위치추적 1 2013.04.06
[TIP] MySQL - NaviCat 사용시 에러 확인방법 2010.02.23
[TIP] 설치된 코덱 리스트 얻어오기 2010.02.18
[TIP] VFW 에서 영상 압축을 위한 코덱을 코드상에서 선택하여 실시간 저장하는 방법입니다. 2010.02.04
[TIP] Visual Studio App Wizard 만들기 관련 2009.12.17
[TIP] C# 에서 Win32 DLL 을 사용하기 위한 방법 2009.07.16
[TIP] WMI 이용, 사용가능한 모뎀 포트 알아내기 2009.07.05
[TIP] Excel Ole 를 사용시 Hidden 열 혹은 행인지 알아내는 방법 2009.05.17
[TIP] Win32 API를 사용하여 응용 프로그램 열거하기 2009.01.15
[TIP] 홈페이지 자동 클릭하기 소스 2009.10.25
[TIP] (MSDN) VS2005 에서 BHO 만드는 방법 링크 2009.01.06
[TIP] Windows 에서 COM10 이상을 여는 방법 2 2008.05.26
태그 목록
위로