【发布时间】:2021-06-29 13:19:01
【问题描述】:
我正在尝试使用 Google Play Developer Publishing API 设置应用更新的优先级。 根据文档,我需要致电androidpublisher.googleapis.com 服务。 我在我的 Linux 设备中安装了 Cloud SDK 以进行服务调用。此外,我已经执行了所有步骤并且能够使用 gcloud init 初始化 sdk。
但是当我尝试使用以下命令执行Edits 时
curl -X POST -H "授权:承载 [oauth2_client_id]" -H“内容类型:应用程序/json”https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.xyz.abc/edits -d'{"id": "20","expiryTimeSeconds": "180}'
我得到以下错误-
{ “错误”:{ “代码”:401, "message": "请求具有无效的身份验证凭据。预期的 OAuth 2 访问令牌、登录 cookie 或其他有效 身份验证凭证。看 https://developers.google.com/identity/sign-in/web/devconsole-project.", “状态”:“未经身份验证”} }
我已经在请求中提供了 oauth 客户端 ID!如何解决这个问题?如果需要 OAuth 2 访问令牌,我将如何使用 gcloud?
更新
根据答案,我在授权内发送了令牌并收到错误-
{
"error": {
"code": 403,
"message": "Request had insufficient authentication scopes.",
"status": "PERMISSION_DENIED"
}
}
为什么还是报错?
更新2
现在我可以使用以下 URL 获取具有所需范围的代码/令牌(不确定它是否是访问令牌)- https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/androidpublisher&response_type=code&access_type=offline&redirect_uri={your redirect url}&client_id={您的客户 ID})
以下是我执行但无法使其工作的步骤的详细信息-
1.打开终端并使用命令移动到google cloud sdk bin文件夹- cd /home/bhuvnesh.varma/Downloads/google-cloud-sdk/bin
2.运行命令 - gcloud init 选择配置、帐户和项目后,我收到消息- 您的 Google Cloud SDK 已配置好,可以使用了!
3.我在浏览器上点击此 URL 替换客户端 ID 并重定向 url- https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/androidpublisher&response_type=code&access_type=offline&redirect_uri={your redirect url}&client_id={您的客户 ID})
我收到了消息-
"请复制此代码,切换到您的应用程序并将其粘贴到那里: 4/AX4XfWgUvVTE0Vknkw0R35rUOsNZ7IVmmCebiV3yyyKxP4c7y0jjZxxcF0TQg"
4.然后我使用生成的令牌/代码在终端上执行编辑命令-
curl -X POST -H "授权:承载 4/AX4XfWgUvVTE0Vknkw0R35rUOsNZ7IVmmCebiV3yyyKxP4c7y0jjZxxcF0TQg" -H“内容类型:应用程序/json”https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.xyz.abc/edits -d'{"id": "20","expiryTimeSeconds": "180}'
我仍然收到以下错误- { “错误”: { “代码”:401, "message": "请求具有无效的身份验证凭据。需要 OAuth 2 访问令牌、登录 cookie 或其他有效的身份验证凭据。请参阅 https://developers.google.com/identity/sign-in/web/devconsole-project.", “状态”:“未经身份验证” } }
【问题讨论】:
标签: android gcloud google-cloud-sdk google-play-developer-api in-app-update