我正在尝试将服务器连接到Google的API,但始终收到以下错误。
google.auth.exceptions.RefreshError: ('invalid_scope: h is not a valid audience string.', u'{\n "error" : "invalid_scope",\n "error_description" : "h is not a valid audience string."\n}')
我环顾四周,但我似乎无法理解为什么Google提供的代码给了我这个错误。我认为这是我的service.json的问题,但我无法查明它是什么。

这是代码,几乎没有什么变化,这是从Google那里掠过的。

from google.oauth2 import service_account
import googleapiclient.discovery

SCOPES = 'https://www.googleapis.com/auth/drive.metadata.readonly'
SERVICE_ACCOUNT_FILE = 'service.json'

credentials = service_account.Credentials.from_service_account_file(
    SERVICE_ACCOUNT_FILE, scopes=SCOPES)
drive = googleapiclient.discovery.build('drive', 'v3',     credentials=credentials)
response = drive.files().list(
    pageSize=10,fields="nextPageToken, files(id, name)").execute()

print(response)

我想做的是使用Google API将电子表格自动下载到本地,可能每小时一次,无需用户验证。

最佳答案

我有这个错误。

看起来scopes似乎是可迭代的,因此当给出单个字符串时,库将分别处理每个字母(第一个字母为“h”)。

尝试更改第4行以添加括号:
SCOPES = ['https://www.googleapis.com/auth/drive.metadata.readonly']

07-24 16:01