Serviço avançado de pessoas

O serviço avançado "Pessoas" permite usar a API People no Apps Script. Essa API permite que os scripts criem, leiam e atualizem dados de contato do usuário conectado e leiam os dados do perfil dos usuários do Google.

Referência

Para informações detalhadas sobre esse serviço, consulte a documentação de referência da API People. Como todos os serviços avançados no Apps Script, o serviço avançado de pessoas usa os mesmos objetos, métodos e parâmetros que a API pública. Para saber mais, consulte Como as assinaturas de métodos são determinadas.

Para informar problemas e encontrar outro suporte, consulte o Guia de suporte da People v1.

Código de amostra

O exemplo de código abaixo usa a versão 1 da API.

Acessar as conexões do usuário

Para receber uma lista de pessoas nos contatos dos usuários, use o seguinte código:

avançado/pessoas.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
    Logger.log('Connections: %s', JSON.stringify(people, null, 2));
  } catch (err) {
    // TODO (developers) - Handle exception here
    Logger.log('Failed to get the connection with an error %s', err.message);
  }
}

Conseguir a pessoa para o usuário

Para conseguir o perfil do usuário, solicite o escopo https://www.googleapis.com/auth/userinfo.profile seguindo as instruções para adicionar escopos explícitos ao arquivo de manifesto appsscript.json. Depois que o escopo for adicionado, será possível usar o seguinte código:

avançado/pessoas.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
    });
    Logger.log('Myself: %s', JSON.stringify(people, null, 2));
  } catch (err) {
    // TODO (developer) -Handle exception
    Logger.log('Failed to get own profile with an error %s', err.message);
  }
}

Encontrar a pessoa para uma Conta do Google

Para receber informações da pessoa para qualquer Conta do Google, use o seguinte código:

avançado/pessoas.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.
    Logger.log('Public Profile: %s', JSON.stringify(people, null, 2));
  } catch (err) {
    // TODO (developer) - Handle exception
    Logger.log('Failed to get account with an error %s', err.message);
  }
}