In diesem Abschnitt werden häufig gestellte Fragen zur Entwicklerregistrierung für die Merchant API behandelt.
Allgemeine Registrierung
Häufig gestellte Fragen zum Registrierungsprozess:
Ist die Entwicklerregistrierung erforderlich, um die Merchant API zu verwenden?
Ja. Sie müssen Ihre Kontaktdaten für Entwickler registrieren, damit Google Ihnen wichtige API-spezifische Updates senden kann, z. B. Servicemitteilungen und Informationen zu neuen Funktionen.
Wenn Sie die Merchant API nur testen möchten, können Sie Tools wie den Google OAuth Playground und den API Explorer verwenden, für die keine Registrierung erforderlich ist.
Wie oft muss ich mich registrieren?
Die Registrierung ist eine einmalige Einrichtung für jedes Google Cloud-Projekt. Unabhängig davon, ob Sie mit mehreren Händlerkonten arbeiten oder nicht, führen Sie die Registrierung nur einmal durch. Sie gilt für alle Nutzer und Dienstkonten im verknüpften Google Cloud-Projekt.
Sobald ein Google Cloud-Projekt erfolgreich registriert wurde, bleibt die Verknüpfung aktiv, es sei denn, sie wird explizit durch Aufrufen der unregisterGcp Methode entfernt. Sie können keine freigegebenen Projekte von Google registrieren, z. B. den APIs Explorer oder den OAuth Playground.
Welche E‑Mail-Adresse sollte ich als Kontaktdaten für Entwickler angeben?
Wir empfehlen, die geschäftliche E‑Mail-Adresse einer Person zu verwenden. Alternativ können Sie allgemeine Gruppenaliase verwenden. E‑Mail-Adressen von Dienstkonten können nicht verwendet werden, da die Mitteilungen für menschliche Empfänger bestimmt sind. Google sendet wichtige API-spezifische Updates, z. B. Servicemitteilungen und Informationen zu neuen Funktionen.
Wenn die E‑Mail-Adresse zu einem vorhandenen Nutzer im Merchant Center-Konto gehört, wird ihm automatisch die Rolle API_DEVELOPER zugewiesen. Andernfalls wird eine Einladung an diese Adresse gesendet.
Das Feld für die E‑Mail-Adresse des Entwicklerkontakts ist in der registerGcp
Methode optional. Wenn Sie bei der Registrierung keinen Wert für dieses Feld angeben, müssen Sie
entweder in der Merchant Center
Benutzeroberfläche oder durch Aufrufen der Methode accounts.users.create einen Nutzer mit der Rolle API_DEVELOPER erstellen.
Muss die E‑Mail-Adresse des Entwicklerkontakts zu einem Google-Konto gehören?
Ja. Wenn Sie eine vorhandene E‑Mail-Adresse verwenden möchten, die nicht zu Google gehört, können Sie sie mit einem Google Konto verknüpfen. Wählen Sie dazu bei der Registrierung für ein Google Konto die Option Vorhandene E‑Mail-Adresse verwenden aus. E‑Mail-Adressen von Dienstkonten können nicht verwendet werden, da Dienstkonten keine E‑Mails empfangen können.
Wie führe ich die Authentifizierung und Autorisierung für den Registrierungsaufruf durch?
Je nach Anwendungsfall stehen zwei verschiedene Authentifizierungsszenarien für die Authentifizierung und Autorisierung des Registrierungsaufrufs zur Verfügung:
- OAuth 2.0: für Drittanbieter oder Agenturen, die mehrere Händlerkonten verwalten
- Dienstkonten: für den Zugriff auf Ihr eigenes Merchant Center-Konto
Das obige Diagramm zeigt die beiden Authentifizierungs- und Autorisierungsabläufe für den Registrierungsaufruf. Sie haben folgende Optionen zur Auswahl:
- Verwenden von OAuth mit einer E‑Mail-Adresse wie account@email.com , die mit einem Google-Konto verknüpft ist
- Verwenden eines Dienstkontos wie sa@project.iam.gserviceaccount.com
Wenn Sie sich für OAuth entscheiden, gehen Sie so vor:
- Erstellen Sie in Ihrem Google Cloud-Projekt OAuth-Anmeldedaten für Ihre E‑Mail-Adresse.
- Prüfen Sie, ob die autorisierende E‑Mail-Adresse in Ihrem Merchant Center vorhanden ist und den Zugriffstyp
ADMINhat.
Wenn Sie sich für ein Dienstkonto entscheiden, gehen Sie so vor:
- Prüfen Sie, ob das Dienstkonto in Ihrem Google Cloud-Projekt vorhanden ist.
- Prüfen Sie, ob die mit dem Dienstkonto verknüpfte E‑Mail-Adresse in Ihrem Merchant Center vorhanden ist und den Zugriffstyp
ADMINhat.
Führen Sie den Registrierungsaufruf im Sicherheitskontext der authentifizierenden Identität aus. Verwenden Sie dazu direkte API-Aufrufe oder Clientbibliotheken. Geben Sie eine E‑Mail-Adresse für den Entwicklerkontakt an, z. B. developer@email.com.
Wenn der Registrierungsaufruf erfolgreich ist, ist in Ihrem Merchant Center ein Nutzer mit der angegebenen E‑Mail-Adresse für Entwickler und der Rolle API_DEVELOPER vorhanden. Sie erhalten eine DeveloperRegistration
Ressource als Antwort.
Was ist der Unterschied zwischen der authentifizierenden E‑Mail-Adresse und der E‑Mail-Adresse des Entwicklerkontakts?
Die beiden E‑Mail-Adressen haben unterschiedliche Zwecke im Merchant API-Ökosystem:
- Authentifizierende E‑Mail-Adresse: In der Regel verwenden Sie eine E‑Mail-Adresse, die mit Ihrem
Google-Konto oder einem Dienstkonto verknüpft ist , als Identität, um
Anfragen an die Merchant API zu autorisieren, sofern Folgendes zutrifft:
- Sie ist in Ihrem Merchant Center vorhanden und hat die Rolle
ADMIN. - Ein Google Cloud-Projekt, in dem die Merchant API aktiviert ist, hostet den OAuth-Client oder das Dienstkonto, das mit der E‑Mail-Adresse verknüpft ist, die die API-Aufrufe autorisiert.
- Sie ist in Ihrem Merchant Center vorhanden und hat die Rolle
- E‑Mail-Adresse des Entwicklerkontakts: Die E‑Mail-Adresse des Entwicklerkontakts muss ebenfalls mit einem Google-Konto verknüpft sein. Sie dient als primärer Kontakt für wichtige Servicemitteilungen und API-Updates von Google. Sie kann zu einem Nutzer oder einer Nutzergruppe gehören. Standardmäßig erhält sie die
API developerRolle in the Merchant Center.
Muss ich die Einladung annehmen, die an die E‑Mail-Adresse des Entwicklerkontakts gesendet wurde?
Ja. Der Empfänger der E‑Mail-Adresse des Entwicklerkontakts hat 14 Tage Zeit, die Einladung anzunehmen. Die Registrierung ist erst abgeschlossen, wenn er die Einladung angenommen hat. Sie können jedoch während dieser Zeit API-Aufrufe ausführen.
Wenn die Einladung nicht innerhalb der angegebenen Zeit angenommen wird, läuft der Einladungslink ab. Sie können keine Merchant API-Aufrufe mehr ausführen und müssen den Registrierungsprozess neu starten.
Konto- und Projektverwaltung
Häufig gestellte Fragen zur Konto- und Projektverwaltung:
Ich arbeite mit mehreren Merchant Center-Konten. Muss ich jedes Merchant Center-Konto registrieren, das ich mit der Merchant API verwenden möchte?
Nein. Wenn Sie ein Drittanbieterentwickler oder eine Agentur sind, die mehrere Händlerkonten verwaltet, registrieren Sie Ihr Google Cloud-Projekt mit Ihrem eigenen primären Merchant Center-Konto und nicht mit den Konten der einzelnen Händler. Auf diese Weise vertreten Sie den Entwickler für alle API-Aufgaben, die Sie für Ihre Händler ausführen.
Ich arbeite mit mehreren Merchant Center-Konten. Wie wähle ich mein primäres Merchant Center-Konto aus?
Die Auswahl des primären Kontos hängt von Ihrem Unternehmenstyp ab:
- Marktplätze mit einem vorhandenen erweiterten Konto: Wenn Ihr Unternehmen als Marktplatz fungiert und bereits ein erweitertes Konto für die gesamte Plattform vorhanden ist, verwenden Sie diese vorhandene Konto-ID als primäres Merchant Center-Konto.
- Preisvergleichsdienste (Comparison Shopping Services, CSS) : Wenn Sie ein CSS sind, verwenden Sie Ihre eindeutige CSS-Konto-ID oder CSS-Gruppenkonto-ID.
- Agenturen, Entwickler und andere Drittanbieter: Wenn Sie ein Drittanbieterunternehmen wie eine Agentur oder ein Drittanbieterentwickler sind, das mehrere Händlerkonten verwaltet und keine einzelne Merchant Center-ID für Ihr Unternehmen hat, sollten Sie ein neues primäres Merchant Center-Konto erstellen und die Umstellung auf ein erweitertes Konto beantragen.
Sobald Ihr Google Cloud-Projekt bei Ihrem primären Merchant Center-Konto registriert ist, können Sie dasselbe Projekt verwenden, um alle anderen Merchant Center-Konten zu verwalten, auf die Sie Zugriff haben. Sie müssen diese Konten nicht einzeln registrieren.
Ich verwende mehrere Google Cloud-Projekte. Muss ich jedes registrieren?
Ja. Da der Registrierungsprozess das aufrufende Google Cloud Projekt verknüpft, müssen Sie den Aufruf registerGcp von jedem Google Cloud-Projekt ausführen, das Sie für API-Aufrufe verwenden.
Ein einzelnes Google Cloud-Projekt kann jeweils nur bei einem Merchant Center-Konto registriert werden. Ein einzelnes Merchant Center-Konto kann jedoch mehrere Google Cloud-Projekte haben, die bei ihm registriert sind. Ebenso können Sie dieselbe E‑Mail-Adresse für Entwickler verwenden, um mehrere Registrierungen in mehreren Google Cloud-Projekten oder mehreren Merchant Center-Konten durchzuführen.
Was passiert, wenn ich ein Google Cloud-Projekt bei mehreren Merchant Center-Konten registriere?
Wenn Sie versuchen, ein Google Cloud-Projekt zu registrieren, das bereits bei einem anderen Merchant Center-Konto registriert ist, wird der Fehler ALREADY_REGISTERED zurückgegeben.
Wie authentifiziere ich den API-Aufruf zur Entwicklerregistrierung?
Um den API-Aufruf zur Entwicklerregistrierung für die Merchant API zu authentifizieren, verwenden Sie Anmeldedaten, die über ein Google Cloud-Projekt verwaltet werden. Sie haben zwei Hauptoptionen für die Identität, die die Authentifizierung durchführt:
- Google-Konto wie Gmail mit OAuth 2.0: Bei dieser Methode werden OAuth 2.0 Clientanmeldedaten verwendet, die in Ihrem Google Cloud-Projekt generiert wurden. Der API-Aufruf wird im Namen eines bestimmten Google-Kontos autorisiert, in dem sich der Nutzer anmeldet.
- Dienstkonto: Bei dieser Methode wird ein Google Cloud-Dienst konto verwendet. Das ist ein spezielles Google-Konto, das für Anwendungen bestimmt ist. Die Anmeldedaten für das Dienstkonto werden ebenfalls in Ihrem Google Cloud-Projekt verwaltet.
Für eine erfolgreiche Entwicklerregistrierung muss die authentifizierende Identität (Google-Konto oder Dienstkonto) die folgenden Kriterien im Merchant Center erfüllen:
- Als Nutzer im Merchant Center vorhanden: Die E‑Mail-Adresse, die mit dem authentifizierenden Google-Konto oder dem Dienstkonto verknüpft ist, muss als Nutzer in dem Merchant Center-Konto hinzugefügt werden, das Sie registrieren.
- Administratorrolle erforderlich: Dieser Nutzer muss die Rolle
ADMINzugewiesen bekommen in diesem Merchant Center-Konto.
Bei API-Aufrufen gilt Folgendes:
- Wenn Sie direkte API-Aufrufe verwenden, müssen Sie ein gültiges
Zugriffstoken im
AuthorizationHeader abrufen und angeben. Dieses Token wird durch den OAuth 2.0-Ablauf für ein Google-Konto oder den Server-zu-Server-Authentifizierungsablauf für ein Dienstkonto generiert. - Clientbibliotheken von Google übernehmen in der Regel die Komplexität des Abrufens und Aktualisierens von Zugriffstokens im Rahmen ihrer Konfiguration.
Der authentifizierende Nutzer ist möglicherweise nicht derselbe wie der Nutzer des Entwicklerkontakts. Weitere Informationen finden Sie unter Was ist der Unterschied zwischen der authentifizierenden E‑Mail-Adresse und der E‑Mail-Adresse des Entwicklerkontakts?
Wie oft muss ich Zugriffstokens aktualisieren?
Zugriffstokens für Dienstkonten und OAuth 2.0 laufen in der Regel nach einer Stunde ab. Der Mechanismus zum Abrufen eines neuen Tokens hängt jedoch von der verwendeten Authentifizierungsmethode ab:
- Dienstkonten verwenden einen privaten Schlüssel oder Umgebungsanmeldedaten , um bei Bedarf ein neues Zugriffstoken zu erstellen.
- OAuth 2.0-Abläufe verwenden ein refresh_token , um den Google OAuth2-Token-Endpunkt aufzurufen und ein neues einstündiges Zugriffstoken zu erhalten.
Wir empfehlen dringend, die offiziellen Google Auth-Bibliotheken zu verwenden, die diese Rotation automatisch verwalten, damit Ihre Anwendung nie Ausfallzeiten hat.
Nutzer und Rollen
Häufig gestellte Fragen zu Nutzern und Rollen:
Muss das E‑Mail-Konto des Entwicklers bereits im Merchant Center vorhanden sein?
Nein. Wenn das E‑Mail-Konto für die Registrierung noch nicht im Merchant Center vorhanden ist, erstellt die Merchant API das Konto im Merchant Center mit der angegebenen E‑Mail-Adresse im Status „Ausstehend“. Wenn die E‑Mail-Adresse des Entwicklers zu einem vorhandenen Nutzer im Merchant Center-Konto gehört, wird ihm automatisch die Rolle API_DEVELOPER zugewiesen.
Muss die E‑Mail-Adresse des Entwicklerkontakts Administratorrechte im Merchant Center haben?
Nein. Der mit der E‑Mail-Adresse des Entwicklerkontakts verknüpfte Merchant Center-Nutzer erhält standardmäßig die Rolle API_DEVELOPER, die erforderlich ist, um wichtige Benachrichtigungen zu erhalten. Er hat jedoch nur minimale Berechtigungen im Merchant Center. Wenn dieser Nutzer andere API-Aufrufe ausführen oder Einstellungen in der Merchant Center-Benutzeroberfläche verwalten soll, müssen Sie ihm zusätzliche Rollen wie STANDARD oder ADMIN zuweisen. Weitere Informationen zu Merchant Center-Rollen finden Sie unter Zugriffstypen.
Welche Berechtigungen hat die Rolle „API-Entwickler“?
Die Rolle API Developer ist eine Rolle mit minimalen Rechten im
Merchant Center. Wenn Sie die E‑Mail-Adresse des Entwicklerkontakts verwenden möchten, um Aufrufe an die Merchant API zu autorisieren, empfehlen wir, die Berechtigungen ADMIN oder STANDARD hinzuzufügen, damit der Nutzer API-Aufrufe ausführen kann.
Muss ich jeden Entwicklernutzer oder jedes Dienstkonto registrieren, das die API aufruft?
Nein. Die Entwicklerregistrierung ist an das Google Cloud-Projekt gebunden, das für die API-Aufrufe verwendet wird, nicht an einzelne Nutzer oder Dienstkonten. Sobald ein Google Cloud-Projekt erfolgreich bei Ihrem primären Merchant Center-Konto registriert wurde, können Sie jede Identität verwenden, die über das verknüpfte Google Cloud-Projekt verwaltet wird, um Merchant API-Aufrufe mit OAuth-Anmeldedaten oder Dienstkonten zu autorisieren. Voraussetzung ist, dass sie in Ihrem Merchant Center vorhanden ist und die Rolle ADMIN zugewiesen hat.
Wie ändere ich die E‑Mail-Adresse des Entwicklerkontakts nach der ersten Registrierung?
Verwenden Sie den Standarddienst accounts.users oder
die Seite „Zugriff und Dienste“ in der Merchant Center-Benutzeroberfläche, um Kontakte zu verwalten oder zu ändern und
Nutzer mit der Rolle API Developer hinzuzufügen oder zu entfernen.
Was passiert, wenn der letzte Nutzer mit der Rolle „API-Entwickler“ aus dem Merchant Center-Konto entfernt wird?
Es wird eine 30-tägige Kulanzfrist ausgelöst, um eine sofortige Dienstunterbrechung zu vermeiden. Während dieser Zeit:
- Administratoren erhalten drei obligatorische Servicemitteilungen per E‑Mail (in der Regel etwa 30, 17 und 4 Tage vor der Sperrung).
- API-Aufrufe funktionieren weiterhin normal.
- Wenn vor Ablauf der Kulanzfrist kein neuer
API Developerhinzugefügt wird, werden API Aufrufe von den zugehörigen Google Cloud-Projekten mit demAUTH_GCP_NOT_REGISTEREDFehler blockiert.
Nach Ablauf der 30-tägigen Kulanzfrist werden API-Aufrufe von den zugehörigen Google Cloud-Projekten blockiert und sie erhalten den Fehler AUTH_GCP_NOT_REGISTERED, bis ein gültiger Entwicklerkontakt wiederhergestellt ist.
Was passiert, wenn die Merchant Center-ID gelöscht wird, bei der die Entwicklerregistrierung erfolgt ist?
Löschen Sie das Merchant Center-Konto, das für die Entwicklerregistrierung verwendet wird, nicht, solange Ihre Integration aktiv ist. Wenn Sie dieses Konto löschen, wird Ihre Integration sofort unterbrochen und Sie können keine API-Aufrufe mehr vom zugehörigen Google Cloud-Projekt ausführen.
Wenn Sie dieses Merchant Center-Konto löschen müssen, sollten Sie zuerst die unregisterGcp-Methode aufrufen, um die Verknüpfung sicher zu entfernen, und erst dann mit dem Löschen der Merchant Center-ID fortfahren. Wenn Sie die Merchant API weiterhin verwenden möchten, müssen Sie sich direkt nach dem Aufheben der Registrierung der aktuellen Merchant Center-ID mit einer anderen registrieren. Erst dann können Sie die Merchant Center-ID löschen.
Besondere Anwendungsfälle
Häufig gestellte Fragen zu besonderen Anwendungsfällen:
Ich bin eine Agentur oder ein Drittanbieterentwickler, der mehrere Händlerkonten verwaltet. Wie richte ich das am besten ein?
Drittanbieterentwickler und Agenturen sollten ein eigenes primäres Merchant Center-Konto haben und alle ihre Google Cloud-Projekte bei diesem einzelnen zentralen Konto registrieren. Registrieren Sie Ihr Google Cloud-Projekt nicht bei den Konten der einzelnen Händler.
Wie funktioniert die Registrierung für Google App Script?
App Script wird in der Regel in einem Standard-Google Cloud-Projekt ausgeführt. Sie müssen diese Standard-Google Cloud-ID bei Ihrem Merchant Center-Konto registrieren. Die Google Cloud-ID wird automatisch von der API abgerufen, daher müssen Sie sie nicht als Parameter angeben.
Kann ich prüfen, ob eine Merchant Center-ID bei einer bestimmten Google Cloud-Projekt-ID registriert ist?
Ja. Mit der Methode getAccountForGcpRegistration können Sie prüfen, welche Merchant Center-ID bei einem bestimmten Google Cloud-Projekt registriert ist. Wenn Sie die Verknüpfung eines Google Cloud Projekts mit Ihrem Merchant Center-Konto entfernen möchten, verwenden Sie die unregisterGcp Methode.