注意: チェーンによる COVID-19(新型コロナウイルス感染症)に関連する投稿が一時的に許可されています。また、Google マイビジネスは現在一部の機能を制限しています。一時的なサービスの変更に関する詳細をご確認ください。

アカウントのデータを管理する

このチュートリアルでは、アカウントのデータを管理する方法について説明します。Google My Business API では次のような処理が可能です。

  • すべてのアカウントの一覧を取得する。
  • 特定のアカウントを取得する。
  • アカウントを更新する。

はじめに

Google My Business API を使用するには、事前にアプリケーションを登録して、OAuth 2.0 の認証情報を取得する必要があります。

Google My Business API を使用する方法について詳しくは、基本設定をご覧ください。

すべてのアカウントの一覧を取得する

認証されたユーザーに関連付けられているアカウントを確認するには、すべてのアカウントの一覧を取得すると簡単です。accounts.list APIを使用すると、ユーザーに関連付けられているすべてのアカウントの一覧を取得できます。

認証されたユーザーのすべてのアカウントの一覧を取得するには、以下を使用します。

HTTP
$ GET https://mybusiness.googleapis.com/v4/accounts
Java

次の関数は、Mybusiness.Accounts.List を使用してアカウントの一覧を取得します。

    /**
     * Returns a list of accounts.
     * @return List A list of accounts.
     * @throws Exception
     */
    public static List listAccounts() throws Exception {
      Mybusiness.Accounts.List accountsList = mybusiness.accounts().list();
      ListAccountsResponse response = accountsList.execute();
      List accounts = response.getAccounts();

      for (Account account : accounts) {
        System.out.println(account.toPrettyString());
      }
      return accounts;
    }
    

特定のアカウントを取得する

場合によっては、認証されたユーザーについて特定のアカウントに関する情報だけを確認したいことがあります。accounts.get API を使用すると、特定のアカウントを取得して、アカウントの追加情報を確認できます。

名前を指定して特定のアカウントを返すには、以下を使用します。

HTTP
    $ GET https://mybusiness.googleapis.com/v4/accounts/{accountId}
    
Java

この関数は Mybusiness.Accounts.Get を使用して、1 つのアカウントに関するデータを取得します。

    /**
     * Demonstrates getting an account by name.
     * @param accountName The name (resource path) of the account to retrieve.
     * @return Account The requested account.
     */
    private static Account getAccount(String accountName) throws Exception {
      Mybusiness.Accounts.Get account =
          mybusiness.accounts().get(accountName);
      Account response = account.execute();

      return response;
    }
    

追加データ

Java クライアント ライブラリを使用すると、アカウントのインスタンスに関する追加のフィールド データにアクセスできます。アカウントに関する追加データを返すには、次のメソッドを使用します。

  • getAccountName()
  • getName()
  • getRole()
  • getState()
  • getType()

アカウントを更新する

アカウント名の変更は、基本的な管理作業の 1 つです。アカウント名を変更するには accounts.update API を使用します。

名前を指定して特定のアカウントを更新するには、以下を使用します。

HTTP
    $ PUT https://mybusiness.googleapis.com/v4/accounts/{accountId}

    {
      "account": {
        "accountName": "Anne Droyd"
      },
      "languageCode": "en",
      "validateOnly": "true"
    }
    
Java

この関数は Mybusiness.accounts.update を使用して、ビジネス アカウントの accountName フィールドを更新します。

    /*
     * Updates a field for a business account.
     * @param accountName The name (resource path) of the account to update.
     * @param newAccountName A string containing the updated value.
     * @throws IOException
     */
    private static void updateAccount(String accountName, String newAccountName) throws IOException {
      Account updateAccount = new Account();
      updateAccount.setName(accountName);
      updateAccount.set("accountName", newAccountName);

      Mybusiness.Accounts.Update accountUpdate =
          mybusiness.accounts().update(accountName, updateAccount);

      accountUpdate.setLanguageCode("en");
      Account updatedAccount  = accountUpdate.execute();

      System.out.printf("Updated account:\n%s", updatedAccount.toPrettyString());
    }
    

制限事項

  • アカウントで編集可能なフィールドは accountName のみです。これ以外のフィールドを渡した場合は、すべて無視されます。
  • この方法で更新できるのは、BUSINESS タイプのアカウントのみです。