Es kann kein Dienstkonto mit Berechtigungen für die Google Play Android Developer API erstellt werdenAndroid

Forum für diejenigen, die für Android programmieren
Guest
 Es kann kein Dienstkonto mit Berechtigungen für die Google Play Android Developer API erstellt werden

Post by Guest »

Ich möchte In-App-Käufe vom Backend in meiner mobilen App validieren, indem ich die Google Play Android Developer API aufrufe. Ich kann jedoch kein Dienstkonto in GCP erstellen, für das ich die richtigen Berechtigungen erteilen kann. Meine mobile App befindet sich in der Produktion.
Die Google Play Android Developer API ist in meinem GCP-Projekt aktiviert. Es wurde vor ein paar Tagen aktiviert. Es wird „Aktiviert“ angezeigt, wenn ich es in der Konsole finde.
Anscheinend muss ich diese Rollen zum Dienstkonto hinzufügen, aber ich kann sie einfach nicht finden – Roles/androidpublisher.developer und Roles/serviceusage.serviceUsageConsumer.
Ich habe ein Dienstkonto erstellt und ihm diese Berechtigungen erteilt -

Code: Select all

Consumer Procurement Order Administrator, Consumer Procurement Order Viewer, Financial Services Admin, Financial Services Viewer
Dann habe ich die E-Mail-Adresse des Dienstkontos als Benutzer in meinem Play Store-Konto als Admin-Benutzer hinzugefügt. Aber es ist eindeutig nicht genug. Und das Problem liegt eindeutig auf der GCP-Seite, da dieser Benutzer in der Play Console ein Administrator ist. Die Anfragen an den Play Store werden aufgrund des Fehlers 401 abgelehnt.
So initialisiere ich meinen Client. Es enthält die Schlüsseldatei und alles. Dieser Teil ist in Ordnung. Ich verwende v3

Code: Select all

const { google } = require('googleapis');
const { GoogleAuth } = require('google-auth-library');

const auth = new GoogleAuth({
keyFile: path.resolve(__dirname, '..', path.basename(keyFilePath)),
scopes: ['https://www.googleapis.com/auth/androidpublisher'],
});

this.androidPublisher = google.androidpublisher({
version: 'v3',
auth,
});
Das ist der Anruf, den ich mache -

Code: Select all

      const response = await this.androidPublisher.purchases.products.get({
packageName,
productId,
token: purchaseToken,
});

Code: Select all

  errors: [
{
message: 'The current user has insufficient permissions to perform the requested operation.',
domain: 'androidpublisher',
reason: 'permissionDenied'
}
],
Bearbeiten:
Ich verwende auch @google-cloud/recaptcha-enterprise mit einem anderen Dienstkonto. Dieses Dienstkonto ruft seine Anmeldeinformationsdatei aus der Umgebungsvariablen GOOGLE_APPLICATION_CREDENTIALS ab. Ich möchte in diesem Fall ein anderes Dienstkonto verwenden, daher musste ich eine separate JSON-Datei mit Anmeldeinformationen generieren und deren Pfad mit einem anderen Eigenschaftsnamen angeben.
Wenn ich den Dienst Google Play Android deaktiviere Entwickler-API Die Anfrage schlägt mit der Begründung fehl, dass die API nicht aktiviert ist. Die API wird also erkannt, aber ich kann dieser SA einfach nicht die richtigen Rollen zuordnen. Ich habe ihm die Berechtigung „Besitzer“ erteilt, aber selbst das ist mit einem 401-Fehler fehlgeschlagen.
Ich gehe zur Serviceseite für die Google Play Android Developer API und erstelle von dort aus sa und die SA hat keine Berechtigungen. WTF.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post