【问题标题】:Google Server to Server OAuth ErrorGoogle 服务器到服务器 OAuth 错误
【发布时间】:2018-01-19 00:15:56
【问题描述】:

我正在尝试将我的服务器连接到 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 的问题,但我无法确定它是什么。

这是代码,它几乎是从谷歌上刷下来的,改动非常有限。

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 自动将电子表格下载到本地,可能每小时一次,无需用户验证。

【问题讨论】:

    标签: google-api google-oauth google-api-python-client


    【解决方案1】:

    我遇到了这个错误。

    看起来scopes 应该是可迭代的,所以当给出单个字符串时,库会分别处理每个字母(第一个是'h')。

    尝试更改第 4 行以添加括号:

    SCOPES = ['https://www.googleapis.com/auth/drive.metadata.readonly']

    【讨论】:

      猜你喜欢
      • 2015-07-24
      • 1970-01-01
      • 2020-01-15
      • 1970-01-01
      • 2017-11-04
      • 2017-03-02
      • 1970-01-01
      • 2014-08-02
      • 1970-01-01
      相关资源
      最近更新 更多