错误:“用于调用 Google Play 开发者 API 的项目 ID 尚未在 Google Play 开发者控制台中链接。”

Posted

技术标签:

【中文标题】错误:“用于调用 Google Play 开发者 API 的项目 ID 尚未在 Google Play 开发者控制台中链接。”【英文标题】:Error: 'The project id used to call the Google Play Developer API has not been linked in the Google Play Developer Console.' 【发布时间】:2014-10-18 07:49:24 【问题描述】:

使用服务帐户访问 Google Play Developer API 时出现以下错误:

用于调用 Google Play Developer API 的项目 ID 尚未在 Google Play Developer Console 中链接。

服务帐户电子邮件和.p12 文件是使用APIs&Auth -> Credentials 中的服务帐户选项生成的。 Google Play Developer API 中的应用程序使用 google 文档中提到的项目 ID 链接到项目。

但是,当我尝试使用 Publishing API 时,我仍然收到此错误。我正在寻找解决此错误的方法,以及使用 Google Publishing API for Java 客户端使用 Google Play Developer API 发布 APK 的分步过程。我正在使用androidpublisher_v2_public

【问题讨论】:

【参考方案1】:

我理解你。 Google 让您对更改服务名称和工作流程感到困惑。他们的文档更新不足,无法与最新的 API 工作流程相匹配。

我在服务器端使用带有 alpha 版本 APK 的 Google Play Developer Service API v2,并遇到与您相同的错误:“用于调用 Google Play Developer API 的项目 ID 尚未链接到Google Play 开发者控制台。”

这是我的解决方案:

Google 开发者控制台

    “Google 开发者控制台”>“APIs & Auth”子类别“APIs”>(api 列表)“Google Play Android 开发者 API”。将“状态”设置为“开启”。

    “API 和身份验证”子类别“凭据”>“创建新客户端 ID”。选择“服务帐号”并创建 ID。

    您应该从浏览器中获取 P12 密钥。

Google Play 开发者控制台

    “Google Play 开发者控制台”>“设置”> 子类别“API 访问”。

    链接到您的“链接项目”。

    “服务帐户”位置可能已经显示您的“服务帐户”CLIENT ID,它是“google 开发者控制台”。

默认情况下,此帐户为灰色,表示它未激活。所以必须手动激活并设置权限。

您现在应该从 API 获得正确的响应。

如果您再次遇到同样的错误,可能是因为您在链接项目之前已经在控制台中配置和购买了产品。

要解决这个问题,只需在您的应用中添加新产品即可。

祝你好运。

【讨论】:

是的,这行得通,谢谢!我在这里发布了一个 php 示例:***.com/a/25825907/1745234 请记住,您不能在 Google Play 开发者控制台中创建多个“链接项目”。因此,您可以在所有项目中使用相同的 .p12 文件。 我可以从Android APP调用play开发者API吗? 在 Google Play Console 的第 2 步中,我们应该在 [Select a Role] 下拉菜单中选择什么? 本指南有点旧。这里有一个更新的版本:谷歌云平台:console.cloud.google.com/home/dashboard Hambuger menu → APIs & Services → Credentials 管理服务帐户 创建服务帐户 命名并按创建角色:令牌创建者继续创建密钥 P12 / JSON 完成【参考方案2】:

在尝试验证应用内购买时遇到同样的错误。

这对我有用:

前往

Google Play 开发者控制台 > 设置 > API 访问。

在“链接项目”下找到您的项目,然后单击“链接”按钮。

如果您再次遇到相同的错误,可能是因为您在链接项目之前已经在控制台中配置和购买了产品。

要解决这个问题,只需在您的应用中添加新产品即可。

【讨论】:

Creating all products new 终于为我解决了这个问题,谢谢! 这里也一样,但是我刚刚创建了一个新的临时产品,然后我就删除了它:) 如果有用户购买了这个方案可行吗? 我能够通过将每个产品设置为“不活跃”来修复,然后保存,然后再次“活跃”。 也可以将单个产品设置为非活动状态,然后再返回活动状态【参考方案3】:

如果您在向 Android Publisher API 发出请求时收到此响应,但您的项目已链接,请尝试创建新的应用内产品。如果在链接之前创建了产品,则在购买时获取产品交易失败。有了新产品,错误就消失了。

https://dev.to/sandris/androidpublisher--projectnotlinked-error-43c7

【讨论】:

+1000,永远不会从该错误消息中发现这一点! 当您从 Google Play 管理中心停用并重新激活您的产品时,会发生相同类型的“同步”。奇怪。 这为我节省了很多时间和痛苦! 这个问题把我逼疯了,浪费了我很多时间来解决这个问题。非常感谢。这很奇怪。谷歌应该做点什么。 我在这上面花了几个小时,这解决了我的问题【参考方案4】:

几天前,我遇到了这里描述的与 android 发布者 v3 相同的问题,我按照说明完成了所有操作,但不幸的是没有成功。

当你在创建订阅/产品之后链接你的谷歌云控制台时可能会发生这种情况,在这里我将描述如何在不联系谷歌的情况下解决这个问题的棘手解决方案。

我认为这可能是同步问题并做了几个步骤。

解决方案:

    如果尚未完成,请将您的 Google Cloud Console 帐户关联到您的 Google Play Console。 然后转到您的订阅/产品并尝试在其中更改某些内容,例如 0.01 美元的价格并将其回滚。 然后对所有其他订阅/产品执行此操作

最后,再次检查您的集成。我希望现在一切正常:)

另外,我希望#google 能尽快解决这些问题。

【讨论】:

我们可以更改订阅价格并立即回滚吗?我无法访问 Google Play Developer API 订阅获取访问调用?我之前已经创建了订阅,然后在 API 访问中将项目链接到谷歌播放控制台,这可能是原因吗?我应该更改订阅价格并回滚吗?这行得通吗? @JayRathodRJ 是的,它应该有帮助,实际上,这就是我在这里所说的。【参考方案5】:

如果有人在尝试查找链接项目的位置时遇到问题(因为界面不断变化),这里是他们 API 文档的当前链接

Google Play Developer API

如果您想要一个直接链接(如果他们的文档照常更改),那么您可以在以下位置找到链接页面:

play.google.com/apps/publish/?account=<your_account_id>#ApiAccessPlace

仅供参考,我正在尝试在服务器端协调订阅,并且在设置了所有 oAuth 2.0 之后,我收到了 403 错误:

“错误”:
    “代码”:403,
    "message": "用于调用 Google Play Developer API 的项目 id 尚未在 Google Play Developer Console 中链接。",
    “错误”:[
      
        "message": "用于调用 Google Play Developer API 的项目 id 尚未在 Google Play Developer Console 中链接。",
        “域”:“androidpublisher”,
        “原因”:“projectNotLinked”
      
    ]
  

【讨论】:

如果您登录了多个 Google 帐户,由于所有重定向,您将很难使用正确的帐户访问此页面。您最好使用隐身模式登录正确的 Google 帐户。【参考方案6】:

您的问题可能是因为您在创建服务帐户之前创建了应用内购买产品。

在您的开发者控制台中,将您的应用内购买产品设置为“不活跃”。然后保存页面。最后再次“激活”。这将刷新 Google 的内容,并使一切正常。

【讨论】:

【参考方案7】:

检查你的 fastlane/Appfile。

您的 package_name 与您的项目包以及在您的 Google 帐户中创建的项目相匹配。

【讨论】:

以上是关于错误:“用于调用 Google Play 开发者 API 的项目 ID 尚未在 Google Play 开发者控制台中链接。”的主要内容,如果未能解决你的问题,请参考以下文章

Pig 安装错误:错误 pig.Main:错误 2998:未处理的内部错误

Informix 错误:发生了语法错误。错误代码:-201

我收到一个错误:“MetaMask - RPC 错误:错误:错误:[ethjs-rpc] rpc 错误与有效负载”

错误精灵错误跟踪器错误

网页打开显示错误500是啥意思

PHP错误处理