【发布时间】:2014-03-12 11:35:54
【问题描述】:
我有一个网络 API,需要验证从 Play 商店购买的内容。根据我在 google api 文档中阅读的内容,我需要有一个服务帐户,并使用其凭据进行身份验证,才能做我想做的事。 我有以下代码:
String serviceAccountEmail = "MYSERVICEACCOUNTEMAIL@developer.gserviceaccount.com";
var certificate = new X509Certificate2(@"C:\privatekey.p12", "notasecret", X509KeyStorageFlags.Exportable);
ServiceAccountCredential credential = new ServiceAccountCredential(
new ServiceAccountCredential.Initializer(serviceAccountEmail)
{
Scopes = new[] { "https://www.googleapis.com/auth/androidpublisher" }
}.FromCertificate(certificate));
// Create the service.
var service = new AndroidPublisherService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential
});
var data = service.Purchases.Get("MYPACKAGE", "MYPRODUCT",
"MYTOKEN")
.Execute();
抛出以下异常
Google.Apis.Requests.RequestError
Invalid Value [400]
Errors [
Message[Invalid Value] Location[ - ] Reason[invalid] Domain[global]
]
我不知道是什么原因造成的。我搜索了很多,但我没有找到真正有用的东西。任何善意的帮助将不胜感激。
【问题讨论】:
-
我在测试购买时遇到了同样的问题。网址如下所示:googleapis.com/androidpublisher/v1.1/applications/…。不知道出了什么问题,但测试购买。
-
这里也一样,但是遇到了同样的问题其他错误
-
如果你的错误被禁止,解决方法在这里:stackoverflow.com/questions/22471433/…
标签: oauth-2.0 google-api google-play