Menautkan Google Profil Bisnis

Grup lokasi bisnis Google mirip seperti folder bersama untuk lokasi Anda. Grup lokasi bisnis menyediakan cara yang aman untuk membagikan pengelolaan lokasi kepada beberapa pengguna. Untuk informasi selengkapnya, lihat Tentang grup lokasi bisnis.

Sebelum mengupload inventaris lokal, tentukan grup lokasi bisnis yang akan menjadi tanggung jawab akun Merchant Center Anda. Anda bisa mendapatkan daftar grup lokasi bisnis yang memenuhi syarat dari Profil Bisnis menggunakan Merchant API, tetapi untuk mendapatkan akses, Anda harus menautkan akun terlebih dahulu ke Profil Bisnis.

Meminta akses ke Profil Bisnis

Untuk mendapatkan akses ke profil bisnis, gunakan metode gbpAccounts.LinkGbpAccount:

POST https://merchantapi.googleapis.com/accounts/v1/accounts/<var>ACCOUNT_ID</var>/gbpAccounts:linkGbpAccount

{
  "gbpEmail": "admin@example.com",
}

Ganti kode berikut:

  • ACCOUNT_ID: ID unik akun Merchant Center Anda
  • GBP_EMAIL: email administrator untuk Profil Bisnis

Setelah memanggil metode ini, layanan akan mengirim email ke administrator yang ditentukan, meminta untuk menyetujui atau menolak permintaan akses. Jika administrator tidak merespons dalam waktu 7 hari, masa berlaku permintaan akan otomatis berakhir.

Mencantumkan grup lokasi bisnis yang tersedia

Setelah administrator menyetujui permintaan, Anda dapat memeriksa grup bisnis yang tersedia menggunakan metode gbpAccounts.List.

Berikut adalah contoh permintaan dan respons yang berhasil:

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
}

Anda dapat menggunakan contoh kode ini untuk mengambil semua grup bisnis yang memenuhi syarat:

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]

Tentukan grup lokasi bisnis untuk akun Merchant Center

daftar grup lokasi bisnis yang tersedia, Anda dapat mengaitkan grup lokasi bisnis dengan akun Merchant Center Anda. Misalnya, jika ingin memilih grup bisnis dengan ID akun GBP 12345 (ditampilkan dari langkah sebelumnya), Anda dapat menggunakan AccountServices.proposeAccountService:

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 {}
  }
}

Perhatikan bahwa kolom provider harus providers/GOOGLE_BUSINESS_PROFILE. Anda harus menetapkan kolom LocalListingManagement kosong dalam permintaan.

Mengirimkan data produk dan inventaris

Setelah mengaitkan akun Merchant Center dengan grup bisnis, Anda dapat mengupload data produk dan inventaris lokal. Untuk informasi selengkapnya, lihat