구글 스프레드시트는 구글 드라이브에 저장된 상태이기 때문에 해당 구글 스프레드시트는 권한을 가진 사람만 열람을 할 수 있습니다.
하지만, python에서 내용을 크롤링 하기 위해서는 서비스 계정을 만들어 권한을 받아야 합니다.
https://cloud.google.com/iam/docs/creating-managing-service-accounts#iam-service-accounts-create-console
위 링크 접속 후에 ‘서비스 계정 만들기’로 이동을 찾아 들어간다.
프로젝트가 없으면 서비스 계정도 만들지 못하므로 프로젝트를 먼저 만들어야 합니다.
이후, 서비스 계정 탭에서 서비스 계정을 만들면 됩니다.
서비스 계정이 만들어졌지만 해당 계정의 키는 존재하지 않는다.
위 그림처럼 작업을 눌러 키 관리에 들어가서 설정해줘야 한다.
접속하여 새 키 만들기에 들어가 Json 형식의 새로운 키를 만들어준다.
Json 형식의 비공개키가 컴퓨터에 저장된다.
서비스 계정이 만들어진 이후, API 및 서비스에서 라이브러리를 선택한다.
구글 스프레드시트 API를 검색하여 들어가서 연동시켜준다.
대상이 되는 스프레드시트에 권한을 서비스 계정에게도 공유를 하면 환경 설정은 끝나게 된다.
import gspread
from oauth2client.service_account import ServiceAccountCredentials
#scope으로 https://spreadsheets.google.com/feeds 을 항상 설정
scope = 'https://spreadsheets.google.com/feeds'
json = './mypassword.json'
#json파일은 비공개키
credentials = ServiceAccountCredentials.from_json_keyfile_name(json, scope)
gc = gspread.authorize(credentials)
#url은 대상이 되는 스프레드시트 url
sheet_url = 'url'
doc = gc.open_by_url(sheet_url)
#구글 스프레드시트의 내용을 가지고 옴
worksheet = doc.worksheet('시트1')
cell_data = worksheet.acell('B2').value
print(cell_data)
> 출력값
치킨 만들기