Сервисный аккаунт и Google Play Developper API - PullRequest
0 голосов
/ 10 октября 2018

Я пытаюсь проверить покупки моих мобильных пользователей на сервере, как описано в https://developer.android.com/google/play/billing/billing_best_practices

Я сталкиваюсь с печально известной ошибкой "Идентификатор проекта, используемый для вызова Google Play Developer API, не был связанв консоли разработчика Google Play. "

После множества копаний в SO, Google, ... и по-прежнему возникают проблемы, я прошу вашей помощи.

Итак, вот мои настройки:

  1. Учетная запись службы настроена в моей игровой консоли G: G play console

  2. У учетной записи службы есть разрешение:enter image description here

  3. Я скачал ключ JSON с консоли разработчиков Google

  4. Я запускаюследующий код Котлина

Код:

compile 'com.google.http-client:google-http-client-gson:1.25.0'
compile 'com.google.apis:google-api-services-androidpublisher:v3-rev30-1.25.0'


val httpTransport = GoogleNetHttpTransport.newTrustedTransport()
val jsonFactory = GsonFactory.getDefaultInstance()
val applicationName = "MYAPP"
val packageName = "my.package"
val json = "copy/paste json key here"
val credential = GoogleCredential.fromStream(StringInputStream(json), httpTransport, jsonFactory)
      .createScoped(listOf((AndroidPublisherScopes.ANDROIDPUBLISHER)))
val publisher = AndroidPublisher.Builder(httpTransport, jsonFactory, credential)
      .setApplicationName(applicationName)
      .build()

val productId = "product_id"
val userPurchaseToken = "a_token"
val get = publisher.purchases()
        .products()
        .get(packageName, productId, userPurchaseToken)
val purchase = get.execute()
Logger.getLogger("Payment user").info("Found google purchase item ${purchase.toPrettyString()}")

И затем я получаю исключение

com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
{
  "code": 403,
  "errors": [
    {
      "domain": "androidpublisher",
      "message": "The project id used to call the Google Play Developer API has not been linked in the Google Play Developer Console.",
      "reason": "projectNotLinked"
    }
  ],
  "message": "The project id used to call the Google Play Developer API has not been linked in the Google Play Developer Console."
}

at com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:150)
at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:113)
at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:40)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest$1.interceptResponse(AbstractGoogleClientRequest.java:321)
at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1067)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:419)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:352)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:469)

Обратите внимание, что я ждал 24 часа ивсе еще есть та же ошибка.

очень странная вещь в том, что мне удается перечислить APK с примером кода в https://github.com/googlesamples/android-play-publisher-api/blob/master/v3/java/src/com/google/play/developerapi/samples/ListApks.java

Я полностью потерян здесь ...

Почему мойключ работает для перечисления APK, но не работает для подтверждения покупки?

РЕДАКТИРОВАТЬ: добавлен шаг 5

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...