Ho provato tante cose negli ultimi giorni, ma ora io sono a corto di idee :(utilizzare il servizio Google account per verificare InAppPurchase
voglio verificare un inAppPurchase che è stato fatto nella mia app Android.
1) Ho creato un nuovo account di servizio nella console API di Google.
1 bis) L'account di servizio sia elencato i permessi unter e ha "può visualizzare" il permesso
2) Sto utilizzando la versione più recente di https://github.com/google/google-api-php-client
3) frammento di codice dal mio script PHP:
$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) risposta da Google:
GET https://www.googleapis.com/androidpublisher/v1.1/applications/de.test.myapp/inapp/de.test.inapp.google.balance5eur/purchases/[PURCHASETOKEN]: (401) L'utente corrente dispone di autorizzazioni insufficienti per eseguire l'operazione richiesta .
[PURCHASETOKEN] è il segno di acquisto che ho ricevuto da google
5) Impostazione $ cred-> sub = '[email protected]' al mio indirizzo di posta elettronica porta in primo piano
errore aggiornamento del token OAuth2, messaggio: '{"errore": "unuthorized_client", "error_description": "Client non autorizzato o ambito nella richiesta". } '
Mi hai salvato la giornata! Grazie mille! Perché questo non è documentato nella documentazione di Google? – glutorange
Fantastico, grazie! Mi hai appena salvato da un grande mal di testa ... – Mike
Purtroppo questo non risolve il problema per me. Stessa risposta all'errore. Che cosa significa "connetti la tua API con la tua app"? È questo l'aggiunta dell'email dell'account di servizio? –