Sto usando Google Play Android Developer API da server a server controlla lo stato di sottoscrizione degli abbonamenti dei nostri utenti ma dopo aver ottenuto l'autorizzazione e richiesto un abbonamento esistente ottengo la risposta 401 con il seguente messaggio 'L'attuale l'utente ha permessi insufficienti per eseguire l'operazione requsted '. Visiting https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=XXXXXX Vedo che ho l'ambito richiesto (https://www.googleapis.com/auth/androidpublisher) ma ottengo sempre la stessa risposta ogni volta. Qualcun altro ha avuto lo stesso problema?API Android per sviluppatori Google Play 401 Permessi insufficienti
Modifica: ho visto che cosa fa l'API Explore, aggiunge la chiave nella stringa di query di una richiesta ma non ho quel valore. Nella console ho creato un ID cliente account di servizio che ha un ID client, un indirizzo email e una chiave privata, ma non esiste una chiave API che apparentemente utilizza API Explorer.
Modifica n. 2: ho aggiunto l'email relativa all'account di servizio sia alla Console per gli sviluppatori di Google Play sia alla console di Google Wallet, ma non ho ancora accesso. Sto usando nodejs e lo google-oauth-jwt perché non c'è la lib di google fornita per nodejs.
Ecco il codice che sto usando per fare una richiesta:
var request = require('google-oauth-jwt').requestWithJWT();
function makeReq() {
request({
url: 'https://www.googleapis.com/androidpublisher/v1.1/applications/{packageName}/subscriptions/{subscriptionId}/purchases/{purchaseToken}',
jwt: {
// use the email address of the service account, as seen in the API console
email: '[email protected]',
// use the PEM file we generated from the downloaded key
keyFile: 'purchases-test.pem',
// specify the scopes you wish to access
scopes: ['https://www.googleapis.com/auth/androidpublisher']
}
}, function (err, res, body) {
if (err) {
console.log(err);
} else {
console.log("BODY IS ------------------------------------------");
console.log(JSON.parse(body));
}
});
}
scorrere verso il basso un po ' cerca "Accesso API pubblico" prova e usa quello – DaImTo
@DaImTo, intendevi usare entrambi l'accesso API pubblica insieme all'account OAuth Service o senza di esso? E, inoltre, ho letto [questo] (https://developers.google.com/accounts/docs/OAuth2ServiceAccount) un paio di volte già e non c'è menzione della chiave da passare all'API quando si effettuano chiamate – Neman
Hai fatto dare l'accesso all'account di servizio all'account di gioco? Nota: so che gli account di servizio hanno poca o nessuna esperienza di gioco Android :) – DaImTo