问题 Google凭据:此开发者帐户不拥有该应用程序


我正在使用谷歌客户端库并尝试制作一个 GET 请求Google Play API。

        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."
}

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


10959
2018-06-10 07:06


起源

我有同样的问题... - Jonathan Naguin
类似的问题: stackoverflow.com/questions/11115381/... - Jonathan Naguin
我终于解决了这个问题,请查看以下内容: stackoverflow.com/questions/11115381/... - Jonathan Naguin


答案:


我有同样的问题。之所以出现这种情况,是因为您授权Google API中的用户不拥有该应用,并尝试获取属于您应用的数据。

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

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


6
2017-10-29 11:17



添加ikrovorotenko所说的通过开发人员的访问令牌或开发人员授权访问应用程序财务数据的用户访问令牌。 - Searock


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

幸运的是,有一种解决方法。您只需获取refresh_token,将其存储并继续使用它以用于将来的API调用。一世 更详细地写了一下 在我的博客上。


4
2017-08-24 15:27



不幸的是,你的链接已经死了,你有可能在其他地方重新发布信息,或者更好的是,将它添加到这个答案中? - Jean
@Jean我认为米兰所指的是 在此之下 - Wojciech
谢谢Wojciech。我现在修复了链接,因为我不得不从Posterous迁移出来。 - Milan Cermak
救了我这么多时间,把头撞到我的办公桌前。谢谢! - Dave Martorana


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

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


1
2018-01-09 14:05





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


0
2018-06-26 14:22



“将您的应用绑定到您的帐户”?怎么样?哪里?在Google Console API中?在Google Play中? - Jonathan Naguin
如果您想在Google Play上发布Android应用,则应首先将应用分配给“发布商帐户” 这里。如果您想使用其他API,您应该查看相应的API主页。 - Illia Ratkevych
考虑注册 新 出版帐户费用为25美元。但是,将新应用添加到现有帐户是免费的。 - Illia Ratkevych
我已经有一个发布商帐户,它与我用来从Google Play API下载密钥的方式相同 - Jonathan Naguin
你有客户身份证吗?你使用OAuth吗?或者是其他东西? - Illia Ratkevych