invalid_scope:https://spreadsheets.google.com/feeds不是有效的受众群体字符串

时间:2018-04-14 07:33:51

标签: python google-drive-api google-sheets-api google-oauth2 gspread

我试图使用OAuth2和gspread来使用Python来操作Google表格。但是,我一直遇到这个错误:

  

invalid_scope:https://spreadsheets.google.com/feeds不是有效的受众群体字符串。

最初,我将范围作为列表,但是,我在StackOverflow上看到另一个答案,说范围应该是以空格分隔的字符串。我尝试将其更改但错误仍然存​​在。

这是我的代码:

import gspread
from oauth2client.service_account import ServiceAccountCredentials

scope = ' '.join(['https://spreadsheets.google.com/feeds', 'https://googleapis.com/auth/drive'])

credentials = ServiceAccountCredentials.from_json_keyfile_name("SpreadsheetExample-bec536232207.json", 'https://spreadsheets.google.com/feeds https://googleapis.com/auth/drive')

gc = gspread.authorize(credentials)
wks = gc.open("test").sheet1

print(wks.get_all_records())`

1 个答案:

答案 0 :(得分:1)

错误非常明确:spreadsheets.google.com/feeds不是API范围。

如果您要请求访问Google表格文件的权限,请使用表格REST API文档中列出的一个或多个API范围: https://developers.google.com/sheets/api/guides/authorizing#OAuth2Authorizing

这些很好地列在那里:

  

范围含义
   https://www.googleapis.com/auth/spreadsheets.readonly 允许对用户的工作表及其属性进行只读访问    https://www.googleapis.com/auth/spreadsheets 允许对用户的工作表及其属性进行读/写访问    https://www.googleapis.com/auth/drive.readonly 允许对用户的文件元数据和文件内容进行只读访问    https://www.googleapis.com/auth/drive.file 对应用创建或打开的文件的每个文件访问权限    https://www.googleapis.com/auth/drive 访问所有用户文件的完整,允许的范围。仅在严格必要时才请求此范围。