Google Play Developer API – 400 Ungültiger Wert – InAppPurchases
Posted: 20 Jan 2025, 14:57
Meine Frage ähnelt dieser. Allerdings verwende ich die API-Java-Clientbibliothek mit einem Dienstkonto und rufe die API von meinem Server aus auf.
Mein Code folgt dieser Anleitung, die sehr einfach ist . Allerdings erhalte ich für meine Anfrage keine entsprechende Fehlermeldung. So erstelle ich meinen AndroidPublisher:
Hier wird der JSON von der Entwicklerkonsole unter „Dienstkonten“ generiert. So stelle ich meine Anfrage:
Meine Abonnement-ID ist gültig, aber mein Token ist ungültig. Ich erwarte einen Fehler wie „ungültiges Token“ in der Antwort. Was ich jedoch bekomme, ist:
Ist das ein allgemeiner Fehler aufgrund des ungültigen Tokens oder handelt es sich um ein Authentifizierungsproblem? Wenn es sich um ein Authentifizierungsproblem handelt, wie kann ich es lösen? Woher soll ich das wissen, wenn es sich um ein ungültiges Token-Problem handelt?
Einige weitere Informationen:
Mein Code folgt dieser Anleitung, die sehr einfach ist . Allerdings erhalte ich für meine Anfrage keine entsprechende Fehlermeldung. So erstelle ich meinen AndroidPublisher:
Code: Select all
val credential = GoogleCredential.fromStream(FileInputStream(
"/path/to/json"
)).createScoped(Collections.singleton(AndroidPublisherScopes.ANDROIDPUBLISHER))
androidPublisher = AndroidPublisher.Builder(httpTransport, JSON_FACTORY, credential)
.setApplicationName(packageName)
.build()
Code: Select all
androidPublisher.purchases().subscriptions().get(packageName, "valid-sku", "invalid-token").execute()
Code: Select all
com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 Bad Request
{
"code" : 400,
"errors" : [ {
"domain" : "global",
"message" : "Invalid Value",
"reason" : "invalid"
} ],
"message" : "Invalid Value"
}
Einige weitere Informationen:
- Ich erhalte die gleiche Fehlermeldung, wenn ich versuche, diesen Aufruf auch über den API Explorer durchzuführen (diesmal unter Verwendung einer Client-ID und eines API-Schlüssels anstelle eines Dienstkontos).
- Ich habe keinen domänenweiten Zugriff auf das Dienstkonto delegiert. Muss ich das aus irgendeinem Grund tun?
- Ich kann erfolgreich andere Aufrufe an die API durchführen, z. B. inappproducts.list