API разработчика Google Play – 400 Недопустимое значение – InAppPurchases

Мой вопрос подобен этому . Тем не менее, я использую клиентскую библиотеку API Java с учетной записью службы, вызывая вызовы API с моего сервера.

Мой код следует этому руководству, что очень просто. Тем не менее, я не могу получить соответствующую ошибку для моего запроса. Вот как я создаю свой AndroidPublisher :

 val credential = GoogleCredential.fromStream(FileInputStream( "/path/to/json" )).createScoped(Collections.singleton(AndroidPublisherScopes.ANDROIDPUBLISHER)) androidPublisher = AndroidPublisher.Builder(httpTransport, JSON_FACTORY, credential) .setApplicationName(packageName) .build() 

Где JSON создается из Консоли разработчика, в разделе «Учетные записи служб». Вот как я делаю свою просьбу:

 androidPublisher.purchases().subscriptions().get(packageName, "valid-sku", "invalid-token").execute() 

Мой идентификатор подписки действителен, но мой токен недействителен. Я ожидаю ошибку, такую ​​как «недопустимый токен» в ответе. Однако я получаю:

 com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 Bad Request { "code" : 400, "errors" : [ { "domain" : "global", "message" : "Invalid Value", "reason" : "invalid" } ], "message" : "Invalid Value" } 

Это общая ошибка из-за недействительного токена или проблема аутентификации? Если это проблема аутентификации, как ее решить? Если это недопустимый токен, как я должен знать?

Дополнительная информация:

  • Я получаю ту же ошибку при попытке сделать этот вызов из API-обозревателя (на этот раз с использованием идентификатора клиента и ключа API вместо учетной записи службы).
  • Я не делегировал доступ к учетной записи службы в домене. Должен ли я по какой-то причине?
  • Я могу успешно выполнять другие вызовы API, такие как inappproducts.list

Итак, причина, по которой это произошло, была только потому, что purchaseToken я использовал, была неправильной.

Я не ожидал, что это будет причиной, поскольку я думал, что в случае недействительного токена я получаю ошибку «токен неверный» (или что-то подобное). Как оказалось, ответы, данные Google, довольно противоречивы (404 также могут быть предоставлены для недопустимого токена).

Intereting Posts
Android Kotlin: Ошибка Неразрешенная ссылка: DaggerAppComponent Почему этот ChildEventListener не считывает данные с узла firebase? Номер Android: синхронные запросы возвращают null В реактивном программировании Android, как разбить потоковые данные объекта после применения фильтра? Монго Аудит выборочно работает Треки жестов с сервисного андроида Ошибка в валидаторе привязки данных от Ilhasoft + Kotlin Можно ли отключить подсказки для неназванных параметров в Android Studio? RecyclerView в заголовке другого RecyclerView (Mvvm ​​+ Databinding + Kotlin) Котлин: несоответствие типа Funtional Kotlin Unit Test Всегда проходит при запуске из интерфейса Android Studio groupValues ​​возвращает только последнее появление повторяющегося шаблона Почему var с частным сеттером является инвариантной позицией? Как акцептор может добавить значение в состояние и отправить обратно инициатору Преобразование данных с RxJava в Котлине