试用调查 API 示例 Python 脚本时,"列出调查"命令仅返回一个request_id,而不是一个带有预期调查列表的"资源"对象
执行示例脚本
surveysAPI.py --service_account --service_account_secrets_file 证书.json 列表
"list"命令to_json方法的结果:
{
"body": null,
"methodId": "consumersurveys.surveys.list",
"resumable_uri": null,
"headers": {
"accept-encoding": "gzip,deflate",
"accept": "application/json",
"user-agent": "google-api-python-client/1.5.1 (gzip)"
},
"uri": "https://www.googleapis.com/consumersurveys/v2/surveys?alt=json",
"resumable": null,
"body_size": 0,
"resumable_progress": 0,
"method": "GET",
"_in_error_state": false,
"response_callbacks": []
}
执行列表命令的响应 - 没有通告的"资源"对象。
{
u'requestId': u'5742026000ff0e1cfc8a2e45010001737e3430322d747269616c320001707573682d30352d32302d7230380001013d'
}
我的帐户中有大约 150 个调查。此命令在 API 资源管理器中工作正常,我可以使用下一页令牌链浏览列表。
请问我做错了什么?
您似乎正在尝试使用服务帐号列出您帐号拥有的调查。为此,您需要将服务帐号作为所有者添加到您的账户拥有的资源中。有关此过程的更多信息,请参阅此处:如何允许用户使用 Google 消费者调查 API 访问调查结果?
或者,您可以设置一个三方 OAuth 客户端密码,并将其与示例脚本一起使用。这将提示您以常规非服务帐户登录并使用这些凭据。请参阅 https://developers.google.com/identity/protocols/OAuth2WebServer 进行设置。
然后,可以将客户端与此凭据一起使用。./example_client.py 列表 --client_secrets_file
如果使用示例脚本,请确保将凭据配置为重定向到 localhost:8080。