Wenn Sie die Merchant API verwenden möchten, müssen Sie Ihr Google Cloud-Projekt über die Entwicklerregistrierung mit Ihrem primären Merchant Center-Konto verknüpfen. Im Laufe des Lebenszyklus Ihrer Integration müssen Sie möglicherweise die Google Cloud-Projekt-ID ändern, die mit Ihrem Merchant Center-Konto verknüpft ist, mehrere Projekte in verschiedenen Umgebungen verwalten oder Projekte migrieren, wenn Sie von der Content API for Shopping migrieren.
In diesem Leitfaden wird Folgendes beschrieben:
- Die Google Cloud-Projekt-ID für eine vorhandene Merchant API-Integration ohne Ausfallzeiten ändern oder rotieren.
- Die Registrierung eines Google Cloud-Projekts für ein Merchant Center-Konto aufheben und es für ein anderes Merchant Center-Konto registrieren.
- Die richtige Strategie für die Migration von Google Cloud-Projekten auswählen und ausführen, wenn Sie von der Content API for Shopping zur Merchant API migrieren.
Vorbereitung
Bevor Sie Google Cloud-Projekte verwalten oder migrieren, prüfen Sie, ob Sie die Voraussetzungen für die Entwicklerregistrierung erfüllen. Weitere Informationen finden Sie unter dem Abschnitt Voraussetzungen des Leitfadens Als Entwickler registrieren.
Wichtige Regeln und Einschränkungen
Beachten Sie bei der Planung von Änderungen an Ihren Google Cloud-Projekten die folgenden Regeln:
- 1:n-Projektregistrierung: Ein einzelnes primäres Merchant Center-Konto kann mehrere Google Cloud-Projekte gleichzeitig registriert haben. Jedes Google Cloud-Projekt kann jedoch jeweils nur für ein primäres Merchant Center-Konto registriert sein. Wenn Sie versuchen, ein Projekt zu registrieren, das bereits mit einem anderen Merchant Center-Konto verknüpft ist, wird der Fehler
ALREADY_EXISTS(409 Conflict) mit dem GrundDUPLICATE_PROJECT_REGISTRATIONzurückgegeben. - Datenschutz bei Projektinhaberschaft:Aus Sicherheits- und Datenschutzgründen kann der Google Shopping- und Merchant API-Support die E‑Mail-Adressen des Project Owner oder Administrators eines Google Cloud-Projekts nicht offenlegen. Wenn Sie den Zugriff auf ein Projekt verlieren, wenden Sie sich an den Google Cloud-Support.
- Verlängerungen für die Einstellung der Content API for Shopping sind projektspezifisch:Wenn Sie eine Verlängerung der Zugriffsberechtigung für die Content API for Shopping erhalten haben, gilt diese Verlängerung nur für die Google Cloud-Projekt-ID, die Sie in Ihrer Anfrage angegeben haben. Verlängerungen werden nicht automatisch auf neue Google Cloud-Projekte übertragen.
Google Cloud-Projekt-ID für ein Merchant API-Konto ändern
Wenn Sie die Merchant API bereits verwenden und Ihre Integration auf ein neues Google Cloud-Projekt umstellen müssen, z. B. aufgrund einer Umstrukturierung des Unternehmens, Richtlinien zur Rotation von Anmeldedaten oder verlorenem Administratorzugriff auf ein älteres Projekt, können Sie Projekte ohne Ausfallzeiten migrieren. Da ein Merchant Center-Konto mehrere registrierte Google Cloud-Projekte gleichzeitig unterstützt, können Sie das neue Projekt registrieren, bevor Sie das alte einstellen.
Schritt 1: Neues Google Cloud-Projekt erstellen und konfigurieren
- Erstellen Sie ein neues Projekt in der Google Cloud Console. Eine detaillierte Anleitung finden Sie unter Google Cloud-Projekt erstellen.
- Aktivieren Sie die Merchant API (
merchantapi.googleapis.com) im neuen Projekt. Weitere Informationen finden Sie im Abschnitt Merchant API aktivieren unter Google Cloud-Projekt erstellen. - Erstellen Sie im neuen Google Cloud-Projekt Authentifizierungsdaten (ein Dienstkonto oder eine OAuth 2.0-Client-ID).
- Fügen Sie die E‑Mail-Adresse für die Authentifizierung (z. B. die E‑Mail-Adresse des neuen Dienstkontos) als Nutzer mit der Rolle
ADMINin Ihrem primären Merchant Center-Konto hinzu.
Schritt 2: Neues Google Cloud-Projekt registrieren
Authentifizieren Sie sich mit den Anmeldedaten aus Ihrem neuen Google Cloud-Projekt
und rufen Sie die
accounts.developerRegistration.registerGcp
Methode auf, um das neue Projekt mit Ihrem primären Merchant Center-Konto zu verknüpfen. Eine
detaillierte Anleitung finden Sie im
Abschnitt Registrierungsaufruf ausführen
unter
Als Entwickler registrieren.
Schritt 3: Registrierte Google Cloud-Projekte bestätigen
Rufen Sie die
accounts.developerRegistration.getDeveloperRegistration
Methode auf, um zu bestätigen, dass sowohl Ihr vorhandenes als auch Ihr neues Google Cloud-Projekt mit Ihrem Merchant Center-Konto
verknüpft sind:
GET https://merchantapi.googleapis.com/accounts/v1/accounts/ACCOUNT_ID/developerRegistration
Authorization: Bearer ACCESS_TOKEN
Ersetzen Sie Folgendes:
ACCOUNT_ID: Ihre Merchant Center-IDACCESS_TOKEN: das Autorisierungstoken für den API-Aufruf
Die Antwort gibt die
DeveloperRegistration
Ressource mit den numerischen Google Cloud-Projektnummern aller verknüpften
Projekte im gcpIds Feld zurück:
{
"name": "accounts/ACCOUNT_ID/developerRegistration",
"gcpIds": [
"123456789012",
"987654321098"
]
}
Sie können auch prüfen, für welches Merchant Center-Konto das aufrufende
Google Cloud-Projekt registriert ist, indem Sie die
accounts.developerRegistration.getAccountForGcpRegistration
Methode aufrufen:
GET https://merchantapi.googleapis.com/accounts/v1/accounts:getAccountForGcpRegistration
Authorization: Bearer ACCESS_TOKEN
Ersetzen Sie Folgendes:
ACCESS_TOKEN: das Autorisierungstoken, das mit den Anmeldedaten aus dem Google Cloud-Projekt generiert wurde, das Sie prüfen möchten
Schritt 4: Traffic umleiten und Registrierung des alten Google Cloud-Projekts aufheben
- Aktualisieren Sie die Konfiguration Ihrer Anwendung, um die Anmeldedaten aus Ihrem neuen Google Cloud-Projekt zu verwenden. Da beide Projekte registriert sind, werden Ihre Arbeitslasten ohne Unterbrechung migriert.
- Sobald der gesamte Traffic über das neue Projekt läuft, können Sie die Verknüpfung des alten
Projekts optional entfernen. Authentifizieren Sie sich dazu mit den alten Google Cloud
Projektanmeldedaten und rufen Sie die
accounts.developerRegistration.unregisterGcpMethode auf:
POST https://merchantapi.googleapis.com/accounts/v1/accounts/ACCOUNT_ID/developerRegistration:unregisterGcp
Content-Type: application/json
Authorization: Bearer OLD_PROJECT_ACCESS_TOKEN
Ersetzen Sie Folgendes:
ACCOUNT_ID: Ihre Merchant Center-IDOLD_PROJECT_ACCESS_TOKEN: das Autorisierungstoken aus dem alten Google Cloud-Projekt für den API-Aufruf
Java
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.accounts.v1.DeveloperRegistrationName;
import com.google.shopping.merchant.accounts.v1.DeveloperRegistrationServiceClient;
import com.google.shopping.merchant.accounts.v1.DeveloperRegistrationServiceSettings;
import com.google.shopping.merchant.accounts.v1.UnregisterGcpRequest;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;
/**
* This class demonstrates how to unregister the GCP project currently used to call the Merchant API
* for a specific account.
*/
public class UnregisterGcpSample {
public static void unregisterGcp(Config config) throws Exception {
// Obtains OAuth token based on the user's configuration.
GoogleCredentials credential = new Authenticator().authenticate();
// Creates service settings using the credentials retrieved above.
DeveloperRegistrationServiceSettings developerRegistrationServiceSettings =
DeveloperRegistrationServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(credential))
.build();
// Creates DeveloperRegistration name to identify the DeveloperRegistration.
// The name has the format: accounts/{account}/developerRegistration
String name =
DeveloperRegistrationName.newBuilder()
.setAccount(config.getAccountId().toString())
.build()
.toString();
// Calls the API and propagates any network failures/errors.
try (DeveloperRegistrationServiceClient developerRegistrationServiceClient =
DeveloperRegistrationServiceClient.create(developerRegistrationServiceSettings)) {
// Creates a request to unregister the GCP project.
UnregisterGcpRequest request = UnregisterGcpRequest.newBuilder().setName(name).build();
System.out.println("Sending UnregisterGcp request for: " + name);
developerRegistrationServiceClient.unregisterGcp(request);
System.out.println("Unregister GCP successful.");
}
}
public static void main(String[] args) throws Exception {
Config config = Config.load();
unregisterGcp(config);
}
}
cURL
curl -X POST \
"https://merchantapi.googleapis.com/accounts/v1/accounts/ACCOUNT_ID/developerRegistration:unregisterGcp" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer OLD_PROJECT_ACCESS_TOKEN"
Registriertes Google Cloud-Projekt einem anderen Merchant Center-Konto zuweisen
Da ein Google Cloud-Projekt jeweils nur für ein primäres
Merchant Center-Konto registriert sein kann, führen Sie die folgenden Schritte aus, um ein
vorhandenes Projekt von einem Merchant Center-Konto (OLD_ACCOUNT_ID) einem
anderen (NEW_ACCOUNT_ID) zuzuweisen. Richtlinien zur Auswahl des Merchant Center-
Kontos, für das Sie Ihr Projekt registrieren möchten, finden Sie unter
Wichtige Überlegungen:
- Authentifizieren Sie sich mit den Anmeldedaten des Google Cloud-Projekts, das
Zugriff auf
OLD_ACCOUNT_IDhat, und rufen SieunregisterGcpfüraccounts/OLD_ACCOUNT_ID/developerRegistrationauf. - Prüfen Sie, ob die authentifizierende Identität die Rolle
ADMINfürNEW_ACCOUNT_IDhat und ob fürNEW_ACCOUNT_IDeine Website bestätigt wurde. - Rufen Sie
registerGcpfüraccounts/NEW_ACCOUNT_ID/developerRegistrationmit den Anmeldedaten aus demselben Google Cloud-Projekt auf. Wenn fürNEW_ACCOUNT_IDnoch kein Nutzer mit der RolleAPI_DEVELOPERvorhanden ist, übergeben Sie eine gültige E‑Mail-Adresse des Nutzers im AnfragefelddeveloperEmail. E‑Mail-Adressen von Dienstkonten, die auf.gserviceaccount.comenden, können nicht alsdeveloperEmailverwendet werden.
Google Cloud-Projekte bei der Migration von der Content API for Shopping migrieren
Wenn Sie von der Content API for Shopping zur Merchant API migrieren, können Zugriffsbeschränkungen für Ihr altes Google Cloud-Projekt auftreten. Das kann beispielsweise der Fall sein, wenn Ihre ursprünglichen API-Schlüssel direkt über den alten Merchant Center-Authentifizierungsworkflow konfiguriert wurden oder wenn der ursprüngliche Projektinhaber Ihr Unternehmen verlassen hat.
Je nachdem, ob Sie Ihr vorhandenes Projekt behalten oder ein neues Projekt für die Merchant API verwenden möchten, während die Content API for Shopping in Ihrem alten Projekt beibehalten wird, wählen Sie eine der folgenden beiden Optionen aus.
Migrationsstrategie für Projekte auswählen
| Szenario | Administratorzugriff auf altes Projekt erforderlich? | Zu aktivierende APIs | Verlängerung für die Einstellung der Content API for Shopping für neues Projekt erforderlich? |
|---|---|---|---|
| Option 1: Vorhandenes Projekt beibehalten | Ja (oder über den Google Cloud-Support wiederherstellen) | Merchant API im vorhandenen Projekt aktivieren (Content API for Shopping ist bereits aktiviert) | Nein (vorhandene Verlängerung für die alte Projekt-ID bleibt gültig) |
| Option 2: Altes Projekt für die Content API for Shopping beibehalten und neues Projekt für die Merchant API verwenden | Nein | Merchant API im neuen Projekt aktivieren (Content API for Shopping im alten Projekt aktiviert lassen) | Nein (die Verlängerung für das alte Projekt bleibt erhalten; das neue Projekt ruft nur die Merchant API auf) |
Option 1: Vorhandenes Google Cloud-Projekt beibehalten
Wählen Sie diese Option aus, wenn Sie Ihr vorhandenes Google Cloud-Projekt sowohl für die Content API for Shopping als auch für die Merchant API verwenden möchten.
Prüfen oder wiederherstellen Sie den Zugriff auf Ihr vorhandenes Projekt, bevor Sie beginnen. Melden Sie sich in der Google Cloud Console an und prüfen Sie, ob Ihr Konto eine der folgenden Rollen für Ihr vorhandenes Projekt hat:
- Inhaber (
roles/owner) - Bearbeiter (
roles/editor) - Service Usage-Administrator (
roles/serviceusage.serviceUsageAdmin)
- Merchant API aktivieren: Aktivieren Sie
merchantapi.googleapis.comin der Google Cloud API-Bibliothek oder mit dem Befehlgcloud. Eine detaillierte Anleitung finden Sie unter API-Authentifizierung über das Merchant Center konfigurieren. - Google Cloud-Projekt für das Merchant Center registrieren:
Folgen Sie der Anleitung unter
Als Entwickler registrieren
, um Anfragen aus Ihrem vorhandenen Projekt zu autorisieren und die Methode
registerGcpaufzurufen, um Ihr vorhandenes Google Cloud-Projekt mit Ihrem primären Merchant Center-Konto zu verknüpfen. Ihre vorhandenen Dienstkontoschlüssel und die genehmigte Verlängerung für die Einstellung der Content API for Shopping funktionieren weiterhin ohne Änderungen.
Option 2: Altes Google Cloud-Projekt für die Content API for Shopping und neues Projekt für die Merchant API verwenden
Wählen Sie diese Option aus, wenn Ihre alte Content API for Shopping-Integration bereits mit gültigen Anmeldedaten und einer genehmigten Verlängerung in Ihrem alten Google Cloud-Projekt ausgeführt wird und Sie Ihre neue Merchant API-Integration in einem separaten, dedizierten Google Cloud-Projekt erstellen möchten:
- Content API for Shopping-Integration im alten Projekt beibehalten:Lassen Sie Ihre vorhandenen Content API for Shopping-Workflows und ‑Anmeldedaten im alten Google Cloud-Projekt ausgeführt. Wenn Ihre Verlängerungsanfrage für die alte Projekt-ID genehmigt wurde, funktioniert Ihre aktuelle Content API for Shopping-Integration bis zum verlängerten Datum der Einstellung.
- Neues Google Cloud-Projekt ausschließlich für die Merchant API erstellen:Erstellen Sie ein neues Google Cloud-Projekt, aktivieren Sie
merchantapi.googleapis.comund erstellen Sie Anmeldedaten (ein Dienstkonto oder eine OAuth 2.0-Client-ID) für Ihre neuen Merchant API-Arbeitslasten. - Neues Projekt registrieren Folgen Sie der Anleitung unter
Als Entwickler registrieren, um
Anfragen aus Ihrem neuen Projekt zu autorisieren und die
registerGcpMethode mit einer gültigen E‑Mail-Adresse für den Entwicklerkontakt aufzurufen. E‑Mail-Adressen von Dienstkonten, die auf.gserviceaccount.comenden, können nicht alsdeveloperEmailverwendet werden. - Arbeitslasten schrittweise migrieren: Verschieben Sie API-Aufrufe schrittweise von Ihrem alten Content API for Shopping-Projekt zu Ihrem neuen Merchant API-Projekt, bevor die Content API for Shopping eingestellt wird (oder bevor Ihre genehmigte Verlängerung abläuft). Stellen Sie das alte Projekt ein, sobald die Migration abgeschlossen ist.
Sonderfall: Zugriff auf das alte Google Cloud-Projekt verloren, bevor die Migration abgeschlossen ist
Da die Content API for Shopping eingestellt wird, ist sie nicht mehr in der Google Cloud API-Bibliothek aufgeführt und kann nicht für neu erstellte Google Cloud-Projekte aktiviert werden. Daher können Sie vorhandene Content API for Shopping-Arbeitslasten nicht selbst zu einem neuen Google Cloud-Projekt migrieren.
Wenn Sie keine Content API for Shopping-Aufrufe mehr von Ihrem alten Projekt aus ausführen können (z. B. aufgrund widerrufener Anmeldedaten oder nicht wiederherstellbarem Projektzugriff):
- Wenden Sie sich an den Google Cloud-Support um den Zugriff auf Ihr vorhandenes Google Cloud-Projekt wiederherzustellen (Option 1), oder
- folgen Sie Option 2, um ein neues Google Cloud-Projekt zu erstellen und zu registrieren und die betroffenen Workflows direkt zur Merchant API zu migrieren. Wenn ein kritischer Migrationsblocker auftritt, wenden Sie sich an den Merchant API-Support.
Nächste Schritte
- Weitere Informationen zu den Anforderungen für die Entwicklerregistrierung finden Sie unter Als Entwickler registrieren und in den FAQs zur Entwicklerregistrierung.
- Informationen zum Verhalten alter Anmeldedaten finden Sie unter API-Authentifizierung über das Merchant Center konfigurieren.
- Planen Sie die Einführung Ihrer Sub-API mit Migration starten.
- Details zur Verlängerung der Zugriffsberechtigung für die Content API for Shopping finden Sie unter Verlängerung der Migration beantragen.