Eine Google-Unternehmensgruppe ist wie ein freigegebener Ordner für Ihre Standorte. Mit einer Unternehmensgruppe können Sie Ihre Standorte sicher gemeinsam mit anderen Nutzern verwalten. Weitere Informationen finden Sie unter Standortgruppen.
Bevor Sie Ihr lokales Inventar hochladen, geben Sie die Unternehmensgruppe an, für die Ihr Merchant Center-Konto verantwortlich sein soll. Sie können die Liste der infrage kommenden Standortgruppen über die Merchant API aus dem Unternehmensprofil abrufen. Um darauf zugreifen zu können, müssen Sie Ihr Konto jedoch mit einem Unternehmensprofil verknüpfen.
Zugriff auf ein Unternehmensprofil anfordern
Verwenden Sie die Methode gbpAccounts.LinkGbpAccount
, um Zugriff auf ein Unternehmensprofil zu erhalten:
POST https://merchantapi.googleapis.com/accounts/v1/accounts/<var>ACCOUNT_ID</var>/gbpAccounts:linkGbpAccount
{
"gbpEmail": "admin@example.com",
}
Ersetzen Sie Folgendes:
ACCOUNT_ID
: die eindeutige Kennung Ihres Merchant Center-KontosGBP_EMAIL
: die E-Mail-Adresse des Administrators für das Unternehmensprofil
Wenn diese Methode aufgerufen wird, sendet der Dienst eine E-Mail an den angegebenen Administrator, in der er aufgefordert wird, die Zugriffsanfrage entweder zu akzeptieren oder abzulehnen. Wenn der Administrator nicht innerhalb von 7 Tagen reagiert, läuft der Antrag automatisch ab.
Verfügbare Unternehmensgruppen auflisten
Sobald der Administrator die Anfrage genehmigt hat, können Sie mit der Methode gbpAccounts.List
verfügbare Standortgruppen prüfen.
Hier eine Beispielanfrage und eine erfolgreiche Antwort:
GET https://merchantapi.googleapis.com/accounts/v1/accounts/<var>ACCOUNT_ID</var>/gbpAccounts
Response:
200 OK
{
"gbpAccounts": [
{
"name": "accounts/<var>ACCOUNT</var>/gbpAccounts/12345",
"gbpAccountId": 12345,
"type": USER,
"gbpAccountName": "admin@example.com",
"listingCount": 15
}, {
"name": "accounts/<var>ACCOUNT</var>/gbpAccounts/67890",
"gbpAccountId": 67890,
"type": BUSINESS_ACCOUNT,
"gbpAccountName": "Google My Business Account",
"listingCount": 23
}
],
"nextPageToken": 50
}
Mit diesem Codebeispiel können Sie alle infrage kommenden Unternehmensgruppen abrufen:
package shopping.merchant.samples.accounts.v1;
// [START merchantapi_list_gbp_accounts]
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.accounts.v1.AccountName;
import com.google.shopping.merchant.accounts.v1.GbpAccount;
import com.google.shopping.merchant.accounts.v1.GbpAccountsServiceClient;
import com.google.shopping.merchant.accounts.v1.GbpAccountsServiceClient.ListGbpAccountsPagedResponse;
import com.google.shopping.merchant.accounts.v1.GbpAccountsServiceSettings;
import com.google.shopping.merchant.accounts.v1.ListGbpAccountsRequest;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;
/**
* This class demonstrates how to get the list of GBP accounts for a given Merchant Center account
*/
public class ListGbpAccountsSample {
public static void listGbpAccounts(Config config) throws Exception {
// Obtains OAuth token based on the user's configuration.
GoogleCredentials credential = new Authenticator().authenticate();
// Creates service settings using the retrieved credentials.
GbpAccountsServiceSettings gbpAccountsServiceSettings =
GbpAccountsServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(credential))
.build();
String accountId = config.getAccountId().toString();
// Creates parent to identify the omnichannelSetting from which to list all Lfp Providers.
String parent = AccountName.newBuilder().setAccount(accountId).build().toString();
// Calls the API and catches and prints any network failures/errors.
try (GbpAccountsServiceClient gbpAccountsServiceClient =
GbpAccountsServiceClient.create(gbpAccountsServiceSettings)) {
ListGbpAccountsRequest request =
ListGbpAccountsRequest.newBuilder().setParent(parent).build();
System.out.println("Sending list GBP accounts request:");
ListGbpAccountsPagedResponse response = gbpAccountsServiceClient.listGbpAccounts(request);
int count = 0;
// Iterates over all the entries in the response.
for (GbpAccount gbpAccount : response.iterateAll()) {
System.out.println(gbpAccount);
count++;
}
System.out.println(String.format("The following count of elements were returned: %d", count));
} catch (Exception e) {
System.out.println("An error has occurred: ");
System.out.println(e);
}
}
public static void main(String[] args) throws Exception {
Config config = Config.load();
listGbpAccounts(config);
}
}
// [END merchantapi_list_gbp_accounts]
Unternehmensgruppe für das Merchant Center-Konto angeben
der verfügbaren Standortgruppen können Sie die Standortgruppe mit Ihrem Merchant Center-Konto verknüpfen. Wenn Sie beispielsweise die Unternehmensgruppe mit der Google Unternehmensprofil-Konto-ID 12345
auswählen möchten (die im vorherigen Schritt zurückgegeben wurde), können Sie AccountServices.proposeAccountService
verwenden:
POST
https://merchantapi.googleapis.com/accounts/v1/accounts/<var>ACCOUNT_ID</var>/services:propose
{
provider: "providers/GOOGLE_BUSINESS_PROFILE",
account_service: {
external_account_id: "12345",
local_listing_management {}
}
}
Das Feld provider
muss providers/GOOGLE_BUSINESS_PROFILE
lauten. Sie müssen in der Anfrage ein leeres LocalListingManagement
-Feld festlegen.
Produkt- und Inventardaten einreichen
Nachdem Sie Ihr Merchant Center-Konto mit einer Unternehmensgruppe verknüpft haben, können Sie Ihre Produkt- und Daten zu lokalem Inventar hochladen. Weitere Informationen finden Sie unter