Servicio de personal avanzado

El servicio avanzado de Contactos te permite usar la API de Contactos en Apps Script. Esta API permite que las secuencias de comandos creen, lean y actualicen los datos de contacto del usuario que accedió y lean los datos de perfil de los usuarios de Google.

Referencia

Para obtener información detallada sobre este servicio, consulta la documentación de referencia de la API de People. Al igual que todos los servicios avanzados de Apps Script, el servicio avanzado de Contactos usa los mismos objetos, métodos y parámetros que la API pública. Para obtener más información, consulta Cómo se determinan las firmas de métodos.

Para informar problemas y encontrar otra asistencia, consulta la guía de asistencia de Contactos v1.

Código de muestra

En el siguiente código de muestra, se usa la versión 1 de la API.

Obtén las conexiones del usuario

Para obtener una lista de las personas en los contactos del usuario, usa el siguiente código:

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);
  }
}

Cómo obtener la persona del usuario

Para obtener el perfil del usuario, debes solicitar el permiso https://www.googleapis.com/auth/userinfo.profile siguiendo las instrucciones para agregar permisos explícitos a tu archivo de manifiesto appsscript.json. Una vez que se agregue el permiso, puedes usar el siguiente código:

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);
  }
}

Cómo obtener una Cuenta de Google para la persona

Para obtener la información de la persona de cualquier Cuenta de Google, usa el siguiente código:

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);
  }
}