Meine Frage ist ähnlich wie this one. Allerdings verwende ich die API Java Client Library mit einem Dienstkonto, Aufrufe an die API von meinem Server.Google Play Developer API - 400 Ungültiger Wert - InAppPurchases
Mein Code folgt this Guide, der sehr einfach ist. Ich kann jedoch keinen passenden Fehler für meine Anfrage erhalten. Dies ist, wie ich bauen meine AndroidPublisher
:
val credential = GoogleCredential.fromStream(FileInputStream(
"/path/to/json"
)).createScoped(Collections.singleton(AndroidPublisherScopes.ANDROIDPUBLISHER))
androidPublisher = AndroidPublisher.Builder(httpTransport, JSON_FACTORY, credential)
.setApplicationName(packageName)
.build()
Wo die JSON aus dem Developer generiert wird Konsole unter Dienstkonten. So stelle ich meine Anfrage:
androidPublisher.purchases().subscriptions().get(packageName, "valid-sku", "invalid-token").execute()
Meine Subskriptions-ID ist gültig, aber mein Token ist ungültig. Ich erwarte einen Fehler wie "ungültiges Token" in der Antwort. Doch was ich bekommen ist:
com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 Bad Request
{
"code" : 400,
"errors" : [ {
"domain" : "global",
"message" : "Invalid Value",
"reason" : "invalid"
} ],
"message" : "Invalid Value"
}
Ist das ein allgemeiner Fehler wegen des ungültigen Token oder ist es ein Authentifizierungsproblem? Wenn es ein Authentifizierungsproblem ist, wie löse ich es? Wenn es ein ungültiges Token-Problem ist, wie soll ich das wissen?
Mehr Informationen:
- Ich bekommen die gleichen Fehler, wenn diesen Anruf von der API Explorer zu machen versuchen, so gut (diesmal einen Client-ID und API-Schlüssel anstelle von Dienstkonto verwenden).
- Ich habe nicht delegierten domänenweiten Zugriff auf das Dienstkonto. Muss ich aus irgendeinem Grund?
- Ich kann erfolgreich andere Anrufe an die API wie
inappproducts.list