【问题标题】:Google Credential: This developer account does not own the applicationGoogle 凭据:此开发者帐户不拥有该应用程序
【发布时间】:2012-06-13 13:57:07
【问题描述】:

我正在使用 Google 客户端库并尝试向 Google Play API 发出 GET 请求。

        GoogleCredential credential= new GoogleCredential.Builder().setTransport(netHttpTransport)
                .setJsonFactory(jacksonFactory)
                .setServiceAccountId(CLIENT_ID)
                .setServiceAccountScopes(SCOPE)
                .setServiceAccountPrivateKeyFromP12File(file)
                .build();
                credential.refreshToken();     
        HttpRequestFactory requestFactory =netHttpTransport.createRequestFactory(credential);
        GenericUrl url = new GenericUrl(URI);
        HttpRequest request = requestFactory.buildGetRequest(url);
        HttpResponse response = request.execute();

我明白了

 {
  "code" : 401,
  "errors" : [ {
    "domain" : "androidpublisher",
    "message" : "This developer account does not own the application.",
    "reason" : "developerDoesNotOwnApplication"
  } ],
  "message" : "This developer account does not own the application."
}

我的应用未发布,这会导致问题吗?

【问题讨论】:

标签: google-api google-api-java-client


【解决方案1】:

我也遇到了同样的问题。这是因为您在 Google API 中授权不拥有该应用程序的用户并尝试获取属于您的应用程序的数据。

在这个主题中,它得到了很好的描述。 http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=2528691&topic=16285&ctx=topic

您应该通过OAuth2授权应用程序的所有者,然后使用Google API获取令牌。

【讨论】:

  • 添加 ikrovorotenko 所说的 pass developer's access token 或被开发者授权访问应用财务数据的用户 access token。
【解决方案2】:

问题是您正在使用服务帐户 OAuth 2.0 流程来授权 android-publisher API。我也是这样做的。但是,Google 要求使用 Web 服务器应用程序流程,这很荒谬,因为需要人工交互才能允许 API 访问。

幸运的是,有办法解决它。您只需要获取 refresh_token、存储它并继续使用它以供将来的 API 调用。我在我的博客上wrote about it in more detail。

【讨论】:

  • 不幸的是,您的链接已失效,您是否有机会在其他地方重新发布信息,或者更好的是,将其添加到此答案中?
  • @Jean 我想米兰指的是under this now
  • 感谢沃伊切赫。我现在修复了链接,因为我不得不从 Posterous 迁移。
  • 为我节省了很多时间,并让我把头撞到了我的办公桌上。谢谢!
【解决方案3】:

我们也遇到了这个问题,因为我们想在我们的服务器上验证购买以解锁某些功能。我们尝试了多种解决方案和框架,由社区用户编写,甚至是官方实现,但都没有奏效。

事实证明,我们所要做的就是更新我们的 OAuth 令牌(我们刚刚创建),然后一切都开始工作了。

【讨论】:

    【解决方案4】:

    我怀疑问题出在发布上。您首先需要将您的应用绑定到您的(开发者)帐户,然后您将收到 CLIENT_ID 和其他凭据(例如密钥等)。

    【讨论】:

    • “将您的应用绑定到您的帐户”?如何?在哪里?在 Google 控制台 API 中?在 Google Play 中?
    • 如果您想在 Google Play 上发布 Android 应用程序,您应该首先将您的应用程序分配给您的“发布者帐户”here。如果您想使用其他 API,您应该查看相应的 API 主页。
    • 请考虑注册新发布帐户的费用为 25 美元。但是向现有帐户添加新应用是免费的。
    • 我已经有一个发布者帐户,并且与我从 Google Play API 下载密钥时使用的帐户相同
    • 您获得客户 ID 了吗?你使用 OAuth 吗?还是别的什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-26
    • 1970-01-01
    • 2021-04-08
    • 2013-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多