gpt4 book ai didi

python - 使用 python 为 Google Play Developer API 使用 oauth2 授权服务帐户

转载 作者:太空宇宙 更新时间:2023-11-04 04:30:46 30 4
gpt4 key购买 nike

我正在尝试通过 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。

token (不是访问 token ,而是应用内购买 token )来 self 个人谷歌账户的测试购买(最近谷歌终于开放了开发者账户进行测试购买!)。我测试购买的 sku 是我要卖给应用程序用户的实际 sku。

我很茫然。关于如何做我想要实现的目标,有太多相互矛盾的信息。可耻的是,谷歌!耻辱!至少可以说,缺少文档。 (我的意思是他们有很好的信息,只是散落在各处)。

我很乐意就此提出任何建议。我不知所措,无法通过上述错误消息。

编辑:我上面的代码是正确的;真正原因请看我的回答。

最佳答案

我在这个链接的帮助下找到了这个问题的原因 here .

我在链接我的项目之前创建了我的应用内购买。创建一个新的应用内购买解决了这个问题。另一方面:该错误消息肯定具有误导性。

还有一个半不相关的说明,当我这样做时,我很难理解是否需要通过我的服务帐户获取和使用 access_token 并以这种方式授权。我把注意力集中在这个问题上太久了。 最后,使用我的服务帐户并使用 JWT 进行授权就足够了。不需要需要对访问 token 执行任何操作或刷新它们,如上面的代码所示授权工作。我想我会把这个添加到答案中,因为如果我知道这一点,它会节省我几个小时,因为我在上面的错误消息上走错了太长的路。

关于python - 使用 python 为 Google Play Developer API 使用 oauth2 授权服务帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52685198/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com