高度な人事サービス

Apps Script 内の Google ユーザーのデータ。

Advanced People サービスを使用すると、People API を Google Apps Script で使用できます。この API を使用すると、スクリプトでログイン ユーザーの連絡先データの作成、読み取り、更新を行ったり、Google ユーザーのプロフィール データを読み取ったりできます。

これは高度なサービスであり、使用する前に 有効にする必要があります

リファレンス

このサービスの詳細については、 People API のリファレンス ドキュメントをご覧ください。 Apps Script のすべての高度なサービスと同様に、高度な People サービスでは、公開 API と同じオブジェクト、メソッド、パラメータを使用します。詳細については、 メソッドのシグネチャの決定方法をご覧ください。

問題を報告したり、その他のサポートを利用したりするには、 People v1 のサポートガイドをご覧ください。

サンプルコード

次のサンプルコードでは、API のバージョン 1 を使用します。

ユーザーの接続を取得する

ユーザーの連絡先に登録されているユーザーのリストを取得するには、 次のコードを使用します。

advanced/people.gs
/**
 * Gets a list of people in the user's contacts.
 * @see https://developers.google.com/people/api/rest/v1/people.connections/list
 */
function getConnections() {
  try {
    // Get the list of connections/contacts of user's profile
    const people = People.People.Connections.list("people/me", {
      personFields: "names,emailAddresses",
    });
    // Print the connections/contacts
    console.log("Connections: %s", JSON.stringify(people, null, 2));
  } catch (err) {
    // TODO (developers) - Handle exception here
    console.log("Failed to get the connection with an error %s", err.message);
  }
}

ユーザーの人物を取得する

ユーザーのプロフィールを取得するには、マニフェスト ファイルに明示的なスコープを追加する手順に沿って、スコープをリクエストする必要があります。https://www.googleapis.com/auth/userinfo.profileappsscript.jsonスコープを追加したら、次のコードを使用できます。

advanced/people.gs
/**
 * Gets the own user's profile.
 * @see https://developers.google.com/people/api/rest/v1/people/getBatchGet
 */
function getSelf() {
  try {
    // Get own user's profile using People.getBatchGet() method
    const people = People.People.getBatchGet({
      resourceNames: ["people/me"],
      personFields: "names,emailAddresses",
      // Use other query parameter here if needed
    });
    console.log("Myself: %s", JSON.stringify(people, null, 2));
  } catch (err) {
    // TODO (developer) -Handle exception
    console.log("Failed to get own profile with an error %s", err.message);
  }
}

Google アカウントの人物を取得する

任意の Google アカウントの人物情報を取得するには、 次のコードを使用します。

advanced/people.gs
/**
 * Gets the person information for any Google Account.
 * @param {string} accountId The account ID.
 * @see https://developers.google.com/people/api/rest/v1/people/get
 */
function getAccount(accountId) {
  try {
    // Get the Account details using account ID.
    const people = People.People.get(`people/${accountId}`, {
      personFields: "names,emailAddresses",
    });
    // Print the profile details of Account.
    console.log("Public Profile: %s", JSON.stringify(people, null, 2));
  } catch (err) {
    // TODO (developer) - Handle exception
    console.log("Failed to get account with an error %s", err.message);
  }
}