Я следовал этому уроку: https://medium.com/@infinitesimal_/doing-android-purchase-validation-api-v3-in-java-5c46fc837368
Но я не могу заставить его работать!Все, что я могу получить, это:
{
"code" : 401,
"errors" : [ {
"domain" : "androidpublisher",
"message" : "The current user has insufficient permissions to perform the requested operation.",
"reason" : "permissionDenied"
} ],
"message" : "The current user has insufficient permissions to perform the requested operation."
}
Это мой код Java:
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
String applicationName = "My App";
String packageName = "com.my.package";
final Set<String> scopes = Collections.singleton(AndroidPublisherScopes.ANDROIDPUBLISHER);
GoogleCredential credential = new GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(jsonFactory)
.setServiceAccountId("myAccoutId")
.setServiceAccountScopes(scopes)
.setServiceAccountPrivateKeyFromP12File(
new File("/my/path"))
.build();
AndroidPublisher pub = new AndroidPublisher.Builder
(httpTransport, jsonFactory, credential)
.setApplicationName(applicationName)
.build();
final AndroidPublisher.Purchases.Products.Get get =
pub.purchases()
.products()
.get(packageName, "name", "transactionId");
final ProductPurchase purchase = get.execute();
System.out.println("Found google purchase item " + purchase.toPrettyString());
Я создал учетную запись службы и дал роль владельца.Я пошел в консоль Google Play, и в разделе «Пользователи и разрешения» я также разрешил эту учетную запись службы в качестве администратора.