Ich habe versucht, so viele Dinge in den letzten Tagen zu überprüfen, aber jetzt bin ich Ideen aus :(Verwenden Dienstkonto Google InAppPurchase
Ich möchte eine inAppPurchase überprüfen, die in meiner android app gemacht wurde.
1) Ich habe ein neues Dienstkonto in der Google API-Konsole erstellt.
1a) Das Dienstkonto wird unter Berechtigungen aufgeführt und hat "können sehen" Erlaubnis
2) Ich verwende die aktuellste Version von https://github.com/google/google-api-php-client
3) Code-Schnipsel aus meinem PHP-Skript:
$client = new Google_Client();
$client->setApplicationName('myAppName');
$client->setClientId('123456789123-vxoasdt8qwe6awerc9ysdfmjysdfysf64werweria8fh.apps.googleusercontent.com');
$key = file_get_contents('/shr/data/stor/b516cexx3123asdf3988345d8133e7f86bfas2553-privatekey.p12');
$service_account_name = '[email protected]per.gserviceaccount.com';
$client->setScopes(array('https://www.googleapis.com/auth/androidpublisher'));
$cred = new Google_Auth_AssertionCredentials($service_account_name, array('https://www.googleapis.com/auth/androidpublisher'), $key);
$client->setAssertionCredentials($cred);
try {
$service = new Google_Service_AndroidPublisher($client);
$googleApiResult = $service->inapppurchases->get($externalAppId, $externalProductId, $purchaseToken);
} catch (Exception $e) {
var_dump($e->getMessage());
}
4) Antwort von Google:
GET: (401) Der aktuelle Benutzer verfügt nicht über ausreichende Berechtigungen zum Ausführen der angeforderten -Operation.
[PURCHASETOKEN] ist der Kauf Token ich von Google
erhielt
5) einstellen $ glaub> sub = '[email protected]' auf meine Mail-Adresse bringt
Fehler Aktualisieren des OAuth2-Tokens, Nachricht: '{"error": "unauthorized_client", "error_description": "Nicht autorisierter Client oder Bereich in Anforderung." } '
Sie haben meinen Tag gerettet! Vielen Dank! Warum ist dies in der Google-Dokumentation nicht dokumentiert? – glutorange
Super, danke! Du hast mich gerade vor großen Kopfschmerzen gerettet ... – Mike
Leider löst das nicht das Problem für mich. Gleiche Fehlerreaktion. Was bedeutet "deine API mit deiner App verbinden"? Wird die E-Mail des Dienstkontos hinzugefügt? –