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 durch Aufruf der unregisterGcp Methode explizit 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‑Mails 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 bestehenden 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 Aufruf 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 Anmeldung für ein Google Konto die Option Vorhandene E‑Mail-Adresse verwenden aus. E‑Mails 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 für die Authentifizierung und Autorisierung des Registrierungsaufrufs zwei verschiedene Authentifizierungsszenarien 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 im Merchant API-Ökosystem unterschiedliche Zwecke:
- 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 folgende Bedingungen erfüllt sind:
- 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 Rolle
API developerim 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, nachdem 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.
Warum schlägt meine Entwicklerregistrierung mit einem Fehler zum Testkonto fehl?
Die Entwicklerregistrierung ist auf Produktionskonten (Live-Konten) beschränkt, um die Stabilität der Integration zu gewährleisten. Wenn Sie ein Konto verwenden, das speziell für Tests erstellt wurde und im Merchant Center als „Testkonto“ gekennzeichnet ist, wird die Registrierung abgelehnt.
Kann ich ein Unterkonto registrieren, das ich für einen Kunden verwalte?
Wir empfehlen dringend, das Konto zu registrieren, das Ihre Unternehmensidentität repräsentiert. Die Registrierung eines Unterkontos eines Kunden ist nicht zulässig und fehleranfällig. Wenn der Kunde Ihren Dienst verlässt oder das Konto löscht, wird möglicherweise Ihre gesamte API-Integration deaktiviert.
Muss meine Website beansprucht oder nur bestätigt werden?
Für die Entwicklerregistrierung muss die Website bestätigt werden. Damit weisen Sie nach, dass Sie die administrative Kontrolle über die Website haben, die mit dem Konto verknüpft ist. Während die Beanspruchung für andere Funktionen wie Shopping-Anzeigen erforderlich ist, ist die Bestätigung die primäre Voraussetzung für die API-Registrierung.
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 Konten von Händlern 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 bestehenden erweiterten Konto: Wenn Ihr Unternehmen als Marktplatz fungiert und bereits ein erweitertes Konto vorhanden ist, das die gesamte Plattform repräsentiert, verwenden Sie diese 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 die Konto-ID der Preisvergleichsportal-Gruppe.
- 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 hat, die Ihr Unternehmen repräsentiert, 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 ausgegeben.
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.
- Rolle „Administrator“ erforderlich: Dieser Nutzer muss die Rolle
ADMINhaben 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 bestehenden 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. Damit dieser Nutzer andere API-Aufrufe ausführen oder Einstellungen in der Merchant Center-Benutzeroberfläche verwalten kann, müssen Sie ihm zusätzliche Rollen zuweisen, z. B. STANDARD oder ADMIN. Weitere Informationen zu den Merchant Center-Rollen finden Sie unter Zugriffstypen.
Welche Berechtigungen hat die Rolle "API developer"?
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 mit OAuth-Anmeldedaten oder Dienstkonten verwaltet wird, um Merchant API-Aufrufe zu autorisieren, sofern 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 developer" aus dem Merchant Center-Konto entfernt wird?
Es wird ein 30-tägiger Kulanzzeitraum 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 dem FehlerAUTH_GCP_NOT_REGISTEREDblockiert.
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 sofort nach dem Aufheben der Registrierung der aktuellen Merchant Center-ID mit einer anderen Merchant Center-ID registrieren. Erst dann können Sie die Merchant Center-ID löschen.
Warum sehe ich die Rolle "API developer" nicht im Merchant Center?
Die Rolle API developer ist in der Merchant Center-Benutzeroberfläche erst sichtbar, nachdem die Entwicklerregistrierung für das angegebene Merchant Center-Konto durchgeführt wurde. In Merchant Center-Konten ohne Registrierungen wird die Rolle API developer nicht angezeigt.
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 jedem einzelnen Händlerkonto.
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.