我有一个网络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();
Run Code Online (Sandbox Code Playgroud)
它抛出以下异常
Google.Apis.Requests.RequestError
Invalid Value [400]
Errors [
Message[Invalid Value] Location[ - ] Reason[invalid] Domain[global]
]
Run Code Online (Sandbox Code Playgroud)
我不知道可能导致它的原因.我搜索了很多,但我找不到真正有用的东西.任何善意的帮助将非常感激.