【发布时间】:2016-06-06 11:49:39
【问题描述】:
我为我们的 Google 应用程序域设置(至少尝试过)一个域范围的委派,以便与 python 脚本集成。特别是,我目前正在尝试与 Search Console API 进行交互。
这是我所做的:
- 设置服务帐号
- 启用域范围的委派
- 已将
https://www.googleapis.com/auth/webmasters.readonly添加到授权 API 客户端列表的 Google 管理控制台。 - 根据 Google 提供的脚本设置一个简单的脚本
这是我的test.py 脚本:
#!/usr/bin/python
from oauth2client.service_account import ServiceAccountCredentials
from httplib2 import Http
from apiclient.discovery import build
scopes = [
'https://www.googleapis.com/auth/webmasters.readonly',
]
credentials = ServiceAccountCredentials.from_json_keyfile_name('/path/to/my/key.json', scopes)
delegated_credentials = credentials.create_delegated('me@mydomain.com')
http_auth = credentials.authorize(Http())
webmasters_service = build('webmasters', 'v3', http=http_auth)
site_list = webmasters_service.sites().list().execute()
print site_list
结果:
{}
无赖。
我知道这是不正确的,因为当我使用 API Explorer 并授权 me@mydomain.com 时,我会在 Search Console 中看到我的网站的完整列表。有些东西坏了,我不确定问题出在哪里。
对我在此过程中遗漏的步骤有什么想法吗?一切似乎都经过验证。我没有收到403。
挠头。
【问题讨论】:
-
谢谢 - 这是我发现的第一个示例,它为网站管理员使用服务帐户 json(我已经有一个)文件并为我工作。救了我几个小时我想说:)
-
@andrewm4894 太棒了。很高兴这对某人有所帮助。
标签: python api google-api google-search-console google-api-python-client