【发布时间】:2018-10-07 03:24:59
【问题描述】:
我正在尝试通过 google-client-api python 库使用 oauth2 授权服务帐户。我最终想要验证应用内购买。
这是我的代码:
SCOPES = ['https://www.googleapis.com/auth/androidpublisher']
SERVICE_ACCOUNT_FILE = 'google.api.json'
credentials = service_account.Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes=SCOPES)
http = credentials.authorize(httplib2.Http())
service = build(
serviceName='androidpublisher',
version='v2',
credentials=credentials
)
req = service.purchases().products().get(
packageName=package,
productId=product,
token=token
)
response = req.execute()
我收到了这条消息:
...returned "The project id used to call the Google Play Developer API has not been linked in the Google Play Developer Console."
我的项目ID是绝对链接的;我的服务帐户以具有此项目正确权限的用户身份在 Google Play 控制台中绝对连接。当我记录上面的代码时,我得到了链接的项目 ID。
令牌(不是访问令牌,而是应用内购买令牌)来自我个人 Google 帐户的测试购买(最近 Google 终于开放了开发者帐户进行测试购买!)。我测试购买的 sku 是我要出售给应用程序用户的实际 sku。
我很茫然。关于如何做我想要实现的目标有很多相互矛盾的信息。耻辱,谷歌!耻辱!至少可以说,缺少文档。 (我的意思是他们有很好的信息,只是散落在各处)。
我很想对此提出任何建议。我不知所措,无法通过上述错误消息。
编辑:我的代码在上面是正确的;请参阅我的答案以了解真正的原因。
【问题讨论】:
标签: python google-api-client google-oauth google-play-developer-api