我正在尝试将服务器连接到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']