Я пытаюсь использовать клиентскую библиотеку API Google API для Java, чтобы получить информацию об абонентских подписках, приобретенных в моем приложении для Android. Вот как я это делаю сейчас:
HttpTransport HTTP_TRANSPORT = new NetHttpTransport();
JsonFactory JSON_FACTORY = new JacksonFactory();
GoogleCredential credential = new GoogleCredential.Builder().setTransport(HTTP_TRANSPORT)
.setJsonFactory(JSON_FACTORY)
.setServiceAccountId(GOOGLE_CLIENT_MAIL)
.setServiceAccountScopes("https://www.googleapis.com/auth/androidpublisher")
.setServiceAccountPrivateKeyFromP12File(new File(GOOGLE_KEY_FILE_PATH))
.build();
Androidpublisher publisher = new Androidpublisher.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential).
setApplicationName(GOOGLE_PRODUCT_NAME).
build();
Androidpublisher.Purchases purchases = publisher.purchases();
Get get = purchases.get("XXXXX", subscriptionId, token);
SubscriptionPurchase subscripcion = get.execute(); //Exception returned here
GOOGLE_CLIENT_MAIL
- это адрес электронной почты из Access API из Google Консоли.
GOOGLE_KEY_FILE_PATH
- это файл p12, загруженный из доступа к API. GOOGLE_PRODUCT_NAME
- имя продукта из информации о брендинге.
В консоли Google APIS включена служба "API разработчика Google Play Android".
Я получаю:
{
"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."
}
Я очень ценю вашу помощь в этом вопросе...