【问题标题】:AndroidPublisher API return projectNotLinked errorAndroidPublisher API 返回 projectNotLinked 错误
【发布时间】:2014-09-29 03:52:21
【问题描述】:

当我在Google Developers Console中使用Google Play Android Developer API测试购买产品的状态时出现这种情况,结果总是这样

{
 "error": {
  "errors": [
   {
    "domain": "androidpublisher",
    "reason": "projectNotLinked",
    "message": "The project id used to call the Google Play Developer API has not been linked in the Google Play Developer Console."
   }
  ],
  "code": 403,
  "message": "The project id used to call the Google Play Developer API has not been linked in the Google Play Developer Console."
 }
}

已经使用另一个开发者帐户(和包名称)检查了这一点,它工作得很好。我确实已将 API 项目从 Google Developers Console 链接到 Google Play Developer Console -> API Access 设置,并尝试重新创建尽可能多的项目,但没有一个项目起作用。

那么我在这里错过了什么?除了我在 Google Play 控制台设置中创建的链接项目之外,“未链接”是什么意思。

【问题讨论】:

    标签: android google-play


    【解决方案1】:

    我也得到了这个,只是放弃了让它工作,而是切换回 API 的 v1.1:

    final URL url = new URL(
            "https://www.googleapis.com/androidpublisher" +
            "/v1.1/applications/" + "com.example.app.id" +
            "/subscriptions/" + subcriptionId +
            "/purchases/" + googlePurchaseReceipt +
            "?access_token=" + googleAccessToken);
    

    希望有人会在某个时候发布更好的答案,我们都可以切换到 API 的 v2。

    【讨论】:

      【解决方案2】:

      使用“SERVICE ACCOUNT”进行身份验证时,我收到了相同的错误消息。但是,当使用“已安装应用程序”类型的 OAuth 客户端时,一切正常。修复:

      1. 转到 Google Play 开发者控制台上的 API 访问页面。
      2. 点击“创建 oAuth 客户端”按钮。
      3. 确保选择“已安装的应用程序”
      4. https://developers.google.com/android-publisher/authorization 中所述,使用生成的客户端 ID 和密码获取访问/刷新令牌
      5. 使用访问令牌发出 api 请求。

      【讨论】:

      • 是的,这种方式工作正常,问题在于服务帐户与 API 的 V2 一起出现。
      【解决方案3】:

      在尝试使用 API Explorer 来使用 Android Publisher API 但失败了几天后,我请求 Google 提供支持并收到“发布 API 似乎不再支持 API Explorer”的回答。所以基本上我不能使用 API Explorer 再次检查应用内购买令牌。 希望这对正在为此苦苦挣扎的人有所帮助。

      【讨论】:

      • 我猜还有一个错误。如果不支持,为什么在 2017 年 11 月的 API 参考中(你的帖子是 3 年前的)。我想它是受支持的,因为链接出了点问题。链接项目后,我得到了Edit not found for this application 而不是The project id used to call the Google Play Developer API has not been linked in the Google Play Developer Console.
      【解决方案4】:

      您需要在 Google Play 开发者控制台的 Settings -> Api Access 下链接该项目。

      在这里查看我的完整答案:https://stackoverflow.com/a/25825907/1745234

      【讨论】:

      • 我已经这样做了,但似乎问题不是因为链接项目。
      【解决方案5】:

      API 资源管理器似乎不适用于 API v2。已报告错误:https://code.google.com/p/google-apis-explorer/issues/detail?id=268

      【讨论】:

        【解决方案6】:

        如果其他人有同样的问题,请尝试在您的 Google Play 控制台帐户中添加新产品/订阅。这对我有用,虽然似乎是 Google 服务中的某种不一致问题。

        【讨论】:

        • 更改产品的标题不起作用,但创建一个新的标题起作用。这有点荒谬......很生气,这花了这么长时间。考虑到“链接”的可怕错误消息根本不是问题。
        • 对我不起作用。我创建了一个新订阅,但仍然出现同样的错误。
        【解决方案7】:

        确保在链接 API 项目之后创建 InApp 产品。

        如果您(像我一样)首先创建了 InApp 产品,然后链接了 API 项目,您将能够调用任何 androidpublisher.purchases.* 端点而无需获取“projectNotLinked”错误。既不是来自代码,也不是通过 API-explorer。

        您可以通过调用 androidpublisher.inappproducts.list 来验证这是不是问题所在。如果成功,您的 API 项目已正确链接到 Google Play 控制台...

        在 Google API 中重新创建用户无济于事。也不会更改 OAuth 2.0 客户端 ID 或服务帐户密钥之间的身份验证。当您链接 API 项目后创建新的 InApp 产品时,一切都会按预期工作。

        【讨论】:

        • 这实际上解决了问题!我已经做了所有事情,它一直说没有链接。我刚创建了一个新的应用内产品就成功了,非常感谢!
        • 它也对我有用。这一定是痛苦的,最终发现是这样的。使用 API 删除旧 SKU 可以吗?
        • @PhilipBorbon;我看不出使用 API 删除旧 SKU 不起作用的任何原因,但我自己没有尝试过......
        • 我试过了,订阅发布后删除会失败。和谷歌开发者控制台说的一样,一发布就不能删除。
        【解决方案8】:

        我也有同样的问题。但我已经解决了。 [要求]: - 您必须链接项目 Google Play 开发者控制台 在您创建应用内购买之前

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-10-25
          相关资源
          最近更新 更多