Как создать адресные поля в Контактах Google с помощью Google App Script - PullRequest
1 голос
/ 25 сентября 2019

Весь адрес идет в поле адреса, в городе ничего не происходит, поля st, почтовый индекс и т. Д.

var addRess = streetAdd + ", " + city + ", " + state + " " + zipCode;
contact.addAddress(ContactsApp.Field.WORK_ADDRESS, addRess);

1 Ответ

3 голосов
/ 25 сентября 2019
  • Вы хотите добавить каждое значение в поля city, st, zip code к контакту как адрес, используя скрипт Google Apps.

Если мое понимание верно, как насчет этого?ответ?Пожалуйста, подумайте об этом как об одном из нескольких ответов.

В этом ответе используется People API.К сожалению, я не смог найти способы добавления каждого значения в поля city, st, zip code в Contacts Service .Поэтому я использовал методы people.connections.list и people.updateContact в People API для достижения вашей цели.

Прежде чем использовать этот сценарий, , пожалуйста, включите People API в службах Advanced Google.

Модифицированный скрипт:

Пожалуйста, измените ваш скрипт следующим образом.И, пожалуйста, установите переменные streetAdd, city, state и zipCode.Я думал, что state может быть region.По этому поводу, если мое понимание не верно, я прошу прощения.Если вы хотите установить другие поля, проверьте документ с адресом .

С:

var addRess = streetAdd + ", " + city + ", " + state + " " + zipCode;
contact.addAddress(ContactsApp.Field.WORK_ADDRESS, addRess);

Кому:

var streetAdd = "###";
var city = "###";
var state = "###";
var zipCode = "###";

var addAddress = {
  streetAddress: streetAdd,
  city: city,
  region: state,
  postalCode: zipCode
};
var id = contact.getId().split("/").pop();
var list = People.People.Connections.list("people/me", {personFields: "addresses,emailAddresses"});
var contact = list.connections.filter(function(connection) {
  return connection.emailAddresses.filter(function(email) {
    return email.metadata.source.id == id;
  }).length > 0;
})[0];
var resource = {
  addresses: "addresses" in contact ? contact.addresses.concat([addAddress]) : addAddress,
  etag: contact.etag
};
People.People.updateContact(resource, contact.resourceName, {updatePersonFields: "addresses"});
  • Когда этот скрипт запущен, новый адрес добавляется в contact как contact.addAddress(ContactsApp.Field.WORK_ADDRESS, addRess).

Примечание:

  • Этот модифицированный скрипт предполагает, что contact вВаш сценарий уже объявлен и может использоваться в качестве объекта контакта.

Ссылки:

Если я неправильно понял ваш вопрос, и это был не тот результат, который вы хотите, я прошу прощения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...