Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
113 changes: 113 additions & 0 deletions advanced/people.gs
Original file line number Diff line number Diff line change
Expand Up @@ -74,3 +74,116 @@ function getAccount(accountId) {
}
}
// [END people_get_account]

// [START people_get_group]

/**
* Gets a contact group with the given name
* @param {string} name The group name.
* @see https://developers.google.com/people/api/rest/v1/contactGroups/list
*/
function getContactGroup(name) {
try {
const people = People.ContactGroups.list();
// Finds the contact group for the person where the name matches.
const group = people['contactGroups'].find((group) => group['name'] === name);
// Prints the contact group
console.log('Group: %s', JSON.stringify(group, null, 2));
} catch (err) {
// TODO (developers) - Handle exception
console.log('Failed to get the contact group with an error %s', err.message);
}
}

// [END people_get_group]

// [START people_get_contact_by_email]

/**
* Gets a contact by the email address.
* @param {string} email The email address.
* @see https://developers.google.com/people/api/rest/v1/people.connections/list
*/
function getContactByEmail(email) {
try {
// Gets the person with that email address by iterating over all contacts.
const people = People.People.Connections.list('people/me', {
personFields: 'names,emailAddresses'
});
const contact = people['connections'].find((connection) => {
return connection['emailAddresses'].some((emailAddress) => emailAddress['value'] === email);
});
// Prints the contact.
console.log('Contact: %s', JSON.stringify(contact, null, 2));
} catch (err) {
// TODO (developers) - Handle exception
console.log('Failed to get the connection with an error %s', err.message);
}
}

// [END people_get_contact_by_email]

// [START people_get_full_name]
/**
* Gets the full name (given name and last name) of the contact as a string.
* @see https://developers.google.com/people/api/rest/v1/people/get
*/
function getFullName() {
try {
// Gets the person by specifying resource name/account ID
// in the first parameter of People.People.get.
// This example gets the person for the user running the script.
const people = People.People.get('people/me', {personFields: 'names'});
// Prints the full name (given name + family name)
console.log(`${people['names'][0]['givenName']} ${people['names'][0]['familyName']}`);
} catch (err) {
// TODO (developers) - Handle exception
console.log('Failed to get the connection with an error %s', err.message);
}
}

// [END people_get_full_name]

// [START people_get_phone_numbers]
/**
* Gets all the phone numbers for this contact.
* @see https://developers.google.com/people/api/rest/v1/people/get
*/
function getPhoneNumbers() {
try {
// Gets the person by specifying resource name/account ID
// in the first parameter of People.People.get.
// This example gets the person for the user running the script.
const people = People.People.get('people/me', {personFields: 'phoneNumbers'});
// Prints the phone numbers.
console.log(people['phoneNumbers']);
} catch (err) {
// TODO (developers) - Handle exception
console.log('Failed to get the connection with an error %s', err.message);
}
}

// [END people_get_phone_numbers]

// [START people_get_single_phone_number]
/**
* Gets a phone number by type, such as work or home.
* @see https://developers.google.com/people/api/rest/v1/people/get
*/
function getPhone() {
try {
// Gets the person by specifying resource name/account ID
// in the first parameter of People.People.get.
// This example gets the person for the user running the script.
const people = People.People.get('people/me', {personFields: 'phoneNumbers'});
// Gets phone number by type, such as home or work.
const phoneNumber = people['phoneNumbers'].find((phone) => phone['type'] === 'home')['value'];
// Prints the phone numbers.
console.log(phoneNumber);
} catch (err) {
// TODO (developers) - Handle exception
console.log('Failed to get the connection with an error %s', err.message);
}
}

// [END people_get_single_phone_number]