Kişiler hizmetinden People API gelişmiş hizmetine geçiş

Önemli: Apps Komut Dosyası, Mart 2023'te Kişiler hizmeti kullanımdan kaldırılmadan önce komut dosyalarınızı Kişiler hizmetinden People API gelişmiş hizmetine taşıyın.

Apps Komut Dosyası,16 Aralık 2022'de Kişiler hizmetini kullanımdan kaldırdı. Bunun yerine People API gelişmiş hizmetini kullanın. People API daha yeni bir JSON protokolü kullanır ve kişileri profillerle birleştirme gibi gelişmiş özellikler sunar.

People API'nin gelişmiş hizmetinde hangi Contacts hizmeti yöntemlerinin eşdeğeri olmadığını öğrenmek, bunların yerine ne kullanabileceğini öğrenmek ve sık kullanılan görevleri taşımak için kod örnekleri bulmak üzere bu kılavuzdan yararlanabilirsiniz. Daha fazla bilgi için Contacts API Taşıma Kılavuzu'na bakın.

People API eşdeğerleri olmayan yöntemler

Aşağıda, Kişiler hizmetinde bulunan ve People API gelişmiş hizmetinde kişi aramak için eşdeğer yöntemler bulunmayan getContacts yöntemleri listelenmektedir. People API gelişmiş hizmetiyle kişilerin CONTACT kaynağından gelen names, nickNames, emailAddresses, phoneNumbers ve organizations alanlarına göre arama yapabilirsiniz.

Eşdeğeri olmayan yöntemler
  • getContactsByAddress(query)
  • getContactsByAddress(query, label)
  • getContactsByAddress(query, label)
  • getContactsByCustomField(query, label)
  • getContactsByDate(month, day, label)
  • getContactsByDate(month, day, year, label)
  • getContactsByDate(month, day, year, label)
  • getContactsByIM(query)
  • getContactsByIM(query, label)
  • getContactsByJobTitle(query)
  • getContactsByNotes(query)
  • getContactsByUrl(query)
  • getContactsByUrl(query, label)
  • getContactsByGroup(group)

Aşağıda, Kişiler hizmetinden ek bir label parametresi kullanan getContacts yöntemleri listelenmektedir. Kişileri eşdeğer alana göre almak için People API gelişmiş hizmetindeki searchContacts aracını kullanabilirsiniz, ancak aramayı belirli bir etiketle sınırlandıramazsınız.

Kısmi eşdeğerleri olan yöntemler
  • getContactsByEmailAddress(query, label)
  • getContactsByName(query, label)
  • getContactsByPhone(query, label)

People API ile kullanılabilen ek özellikler

People API gelişmiş hizmetine geçiş yaptığınızda, Kişiler hizmetinde bulunmayan aşağıdaki People API özelliklerine erişebilirsiniz:

  • Veri kaynağını belirtin - Bir kişi hakkında bilgi ararken, nerede arama yapacağınızı (ör. Google kişisi veya Google profili) belirtebilirsiniz.
  • Sorgu dizesine göre kişi arama - Belirli bir dizeyle eşleşen profillerin ve kişilerin listesini alabilirsiniz.
  • Toplu istekler: Komut dosyası yürütme sürenizi kısaltmak için People API çağrılarınızı toplu hale getirebilirsiniz.

Sık kullanılan görevler için kod örnekleri

Bu bölümde, Kişiler hizmetindeki genel görevler listelenmiştir. Kod örnekleri, People API'nin gelişmiş hizmetini kullanarak görevlerin nasıl oluşturulacağını gösterir.

Ada göre kişi grubu alma

Aşağıdaki kod örneğinde, bir kişi grubunu adıyla nasıl alacağınız gösterilmektedir. Bu, Kişiler hizmetindeki getContactGroup(name) eşdeğerdir.

gelişmiş/kişiler.gs
/**
 * 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);
  }
}

E-posta adresiyle kişi al

Aşağıdaki kod örneğinde, Kişiler hizmetindeki getContact(emailAddress) eşdeğeri olan e-posta adresinden bir kişinin nasıl bulunacağı gösterilmektedir.

gelişmiş/kişiler.gs
/**
 * 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);
  }
}

Tüm kişileri al

Aşağıdaki kod örneğinde, bir kullanıcının tüm kişilerinin nasıl alınacağı gösterilmektedir. Bu, Kişiler hizmetindeki getContacts() ile eşdeğerdir.

gelişmiş/kişiler.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);
  }
}

Bir kişinin tam adını alma

Aşağıdaki kod örneğinde, bir kişinin Kişiler hizmetindeki getFullName() ile eşdeğer olan tam adının nasıl alınacağı gösterilmektedir.

gelişmiş/kişiler.gs
/**
 * 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);
  }
}

Bir kişinin tüm telefon numaralarını alma

Aşağıdaki kod örneğinde, bir kişinin tüm telefon numaralarının nasıl alınacağı gösterilmektedir. Bu, Kişiler hizmetindeki getPhones() ile eşdeğerdir.

gelişmiş/kişiler.gs
/**
 * 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);
  }
}

Bir kişinin belirli bir telefon numarasını alma

Aşağıdaki kod örneğinde, bir kişi için belirli bir telefon numarasının nasıl alınacağı gösterilmektedir. Bu, Kişiler hizmetindeki getPhoneNumber() ile eşdeğerdir.

gelişmiş/kişiler.gs
/**
 * 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);
  }
}