Bagaimana cara terhubung dengan benar ke Google Spreadsheets API?

Saya ingin terhubung ke Google Spreadsheets API dengan Python.

So I do:

import gspread
from oauth2client.service_account import ServiceAccountCredentials

scope=['https://www.googleapis.com/auth/spreadsheets', 
'https://wwww.googleapis.com/auth/drive']

credentials = ServiceAccountCredentials.from_json_keyfile_name('cred.json', scope)

gc = gspread.authorize(credentials)

wks = gc.open('datatest').Sheet1

print(wks.get_all_records)

Tapi saya mendapatkan kesalahan ini

HttpAccessTokenRefreshError: invalid_scope: https://www.googleapis.com/auth/spreadsheets is not a valid audience string.

Bagaimana saya bisa menggunakan Google-auth alih-alih gspread dengan data ini?


person Laura    schedule 27.02.2019    source sumber
comment
Sudahkah Anda mencoba https://spreadsheets.google.com/feeds seperti dalam dokumentasi gspread   -  person J.J. Hakala    schedule 27.02.2019
comment
Singkirkan oauth2client karena sudah tidak digunakan lagi. google-auth berfungsi baik dengan akun layanan. Ada juga perpustakaan klien Google sebenarnya untuk python - Anda tidak memerlukan gspread kecuali Anda ingin menggunakannya. Dan jika ya, mengapa Anda tidak menandai pertanyaan ini?   -  person tehhowch    schedule 27.02.2019
comment
@tehowch, saya tidak mengetahuinya. Apakah ada tempat untuk melihat contoh yang berjalan dengan google-auth? J.J.Hakala ya, saya sudah mencobanya tetapi hasilnya sama.   -  person Laura    schedule 27.02.2019


Jawaban (1)


Anda memasukkan 4w !!!!

X 'https://wwww.googleapis.com/auth/drive'

atau 'https://www.googleapis.com/auth/drive'

import gspread
from oauth2client.service_account import ServiceAccountCredentials

scope = ['https://www.googleapis.com/auth/drive']
credentials = ServiceAccountCredentials.from_json_keyfile_name('CredentialsFile.json', scope)
ss_app = gspread.authorize(credentials=credentials)  # make sure your Google Sheets API is enabled
sht = ss_app.open('sheet_name_xxxx')  # In your spreadsheet, click the Share button and paste the client email as same as CredentialsFile.json.client_email, and make sure your Google Drive API is enabled
wks = sht.worksheet('worksheet_name_xxxx')
print(wks.acell('A1').value)

semoga membantu.

person Carson    schedule 27.02.2019