Нажмите "Enter", чтобы перейти к содержанию

Http www google com contacts: Contacts API Migration Guide | People API

Содержание

Первый опыт работы с Google API (на примере ContactsAPI) и OAuth3.0 на чистом HTTP / Хабр

В ходе написания проекта мне понадобилось добавлять записи в книгу контактов Google. Вроде бы все просто, есть API, бери и пользуйся, но взять и использовать его сразу не получилось. Много документации, перекрестных ссылок (само собой не на русском языке). Мне понадобилось много времени чтобы во всем этом разобраться. Кроме того, мне нужны были пример использования в чистом протоколе HTTP без кода на каком-либо другом языке. После того, как все получилось я решил написать сюда чтобы сэкономить кому-нибудь много времени, разложив все шаги по полочкам. Для многих ничего нового здесь не будет, тем более что эта статья — большей частью перевод и упрощение гугловской документации.

Первая часть. Создание приложения и настройка

Итак, конкретно для моих целей нужно было использовать Contacts API. Заходим в свой google аккаунт в котором хотим включить API. Переходим по ссылке
console.developers.google.com/iam-admin/projects и нажимаем «Создать проект»:

Дальше делаем все то, что предлагает Google, никуда не сворачивая. Задаем имя проекту и т.д.

После того, как создание проекта будет завершено, вы сможете скачать файл со всеми данными проекта (ID, секрет и т.п.).

Также необходимо включить API. Для этого переходим на console.developers.google.com/apis/, выбираем из списка необходимый API и в открывшейся вкладке нажимаем «Включить API». Все, на этом первый шаг закончен.

Вторая часть. Получение токенов

Для обращения к API необходимо получить токены доступа по стандарту OAuth 2.0. Это, пожалуй, было для меня сложнее всего. Разобраться как, куда и какие запросы посылать, в каком порядке — не так уж и просто.

Для получения токенов, которые я бы смог в дальнейшем использовать в своей программе, я использовал расширение для Firefox, которое называется HTTPRequester.

1. Получить code
На этом шаге производится запрос пользователю на получение доступа. Пример запроса (символом * просто заменены некоторые данные моего приложения):

https://accounts.google.com/o/oauth3/v2/auth?scope=https://www.google.com/m8/feeds&access_type=offline&include_granted_scopes=true&redirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=code&client_id=921647******-l5jcha3bt7r6q******bhtsgk*****um6.apps.googleusercontent.com

Подробнее о некоторых параметрах:

scope — сервис, к которому мы получаем доступ. Для контактов это www.google.com/m8/feeds. Список адресов разных сервисов находится по ссылке developers.google.com/identity/protocols/googlescopes;

access_type — тип доступа. Если вам нужно будет обновлять токены без участия пользователя, обязательно используйте значение offline. Также возможно значение online, но при его выборе необходимо будет каждый раз запрашивать разрешение у пользователя в браузере;

redirect_uri и client_id — данные, которые указаны в файле проекта, который был скачан на первом этапе;

При выполнении этого GET запроса появится страница разрешений:

Если нажать «Разрешить», вы получите code, выглядит примерно так (* — замена моих данных):
4/iLcXnhpU8NvMHT5aTy8JjXhcROERzkvKq********

2. Получить токены
Для получения токенов авторизованного доступа необходимо послать POST запрос на адрес
www.googleapis.com/oauth3/v4/token (Обязательно, content-type запроса должен быть application/x-www-form-urlencoded).

В теле запроса должны быть следующие параметры:

code=4/iLcXnhpU8NvMHT5aTy8JjXhcROERzkvKq********&client_id=921647******-l5jcha3bt7r6q******bhtsgk*****um6.apps.googleusercontent.com&client_secret=hi1W9GAKGer************&redirect_uri=urn:ietf:wg:oauth:2.0:oob&grant_type=authorization_code

Где
code — данные, полученные на предыдущем шаге;
grant_type — обязательный параметр, который должен быть равен «authorization_code» (не какой-либо код авторизации, а именно так, буквами — authorization_code).

Ответ вы получите в формате JSON, в котором будут указаны токен досупа и токен обновления токена доступа.

Пример ответа:

3. Обновить токен доступа
Токен доступа (access_token) действует ограниченное время, указанное в параметре expires_in.

После истечения срока действия токен доступа можно обновить по токену обновления (refresh_token).

Для этого необходимо сделать POST запрос на www.googleapis.com/oauth3/v4/token (Обязательно, content-type запроса должен быть application/x-www-form-urlencoded).
Тело запроса:

client_id=921647******-l5jcha3bt7r6q******bhtsgk*****um6.apps.googleusercontent.com&client_secret=hi1W9GAKGer************&refresh_token=1/rCIfgox0M7ul5uKHasqk****************&grant_type=refresh_token

В ответе, опять же в формате JSON вы получите новый токен доступа.

Все, полученные данные можно использовать для выполнения ваших задач. Все, что было написано выше — авторизация приложения по протоколу OAuth 2.0. Далее, для выполнения авторизованных запросов необходимо передать в параметрах токен доступа (http://google………………com/?access_token=ya.23*****************).

Работа с Contacts API

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

1. Получение списка контактов
Для получения списка контактов достаточно отправить GET запрос с параметрами. Пример запроса:

www.google.com/m8/feeds/contacts/gmm********@gmail.com/full?access_token=ya29.GlwbBFzl0uXJG6yt_Wdgr6vI4KJ88Djw85H******************************************************.
В ответе вы можете распарсить данные и получить число контактов, их описание и их ID.
gmm**********@gmail.com — адрес моей учетной записи.

2. Добавление контактов
Для добавления контактов в адресную книгу надо отправить POST запрос с токеном доступа в параметрах. (Обязательно, content-type запроса должен быть application/atom+xml). Пример запроса:

www.google.com/m8/feeds/contacts/gmm*********@gmail.com/full?access_token=ya29.GlwYBLz6AgOE9Xs****************************************************************************.
Тело запроса (взято из google документации):

<atom:entry xmlns:atom="http://www. w3.org/2005/Atom"
    xmlns:gd="http://schemas.google.com/g/2005">
  <atom:category scheme="http://schemas.google.com/g/2005#kind"
    term="http://schemas.google.com/contact/2008#contact"/>
  <gd:name>
     <gd:givenName>Elizabeth</gd:givenName>
     <gd:familyName>Bennet</gd:familyName>
     <gd:fullName>Elizabeth Bennet</gd:fullName>
  </gd:name>
  <atom:content type="text">Notes</atom:content>
  <gd:email rel="http://schemas.google.com/g/2005#work"
    primary="true"
    address="[email protected]" displayName="E. Bennet"/>
  <gd:email rel="http://schemas.google.com/g/2005#home"
    address="[email protected]"/>
  <gd:phoneNumber rel="http://schemas.google.com/g/2005#work"
    primary="true">
    (206)555-1212
  </gd:phoneNumber>
  <gd:phoneNumber rel="http://schemas.google.com/g/2005#home">
    (206)555-1213
  </gd:phoneNumber>
  <gd:im address="[email protected]"
    protocol="http://schemas.
google.com/g/2005#GOOGLE_TALK" primary="true" rel="http://schemas.google.com/g/2005#home"/> <gd:structuredPostalAddress rel="http://schemas.google.com/g/2005#work" primary="true"> <gd:city>Mountain View</gd:city> <gd:street>1600 Amphitheatre Pkwy</gd:street> <gd:region>CA</gd:region> <gd:postcode>94043</gd:postcode> <gd:country>United States</gd:country> <gd:formattedAddress> 1600 Amphitheatre Pkwy Mountain View </gd:formattedAddress> </gd:structuredPostalAddress> </atom:entry>

Всю структуру оставляем такую же, меняем только персональные данные (имя, номер и т.д.).

3. Удаление контакта
Для удаления контакта надо узнать его ID (его можно получить или в ответе при добавлении контакта или при получении всего списка контактов) и отправить DELETE запрос.

ВАЖНО! В header запроса обязательно надо добавить параметр If-Match и задать его значение как *. Без этого удалить контакт не получится.

Пример запроса:

www.google.com/m8/feeds/contacts/gmm***@gmail.com/base/5a5415d78e677387?access_token=ya29.GlwYBLz6AgOE9Xsnt8Z1raYaa3fB*********************
5a5415d78e677387 — ID контакта.

Оригиналы документации google:

→ Using OAuth 2.0 for Web Server Applications.
→ Google Contacts API.

На этом все, я буду очень рад, если кому-нибудь пригодится статья. Лично мне, человеку, который впервые столкнулся с google API, было довольно трудно со всем этим разобраться.

Подключите свои контакты Google к интеграции с Google Таблицами за 2 минуты

Как соединить контакты Google + Google Таблицы

Zapier позволяет автоматически отправлять информацию между контактами Google и Google Таблицами — код не требуется.

Когда это произойдет…

сделайте это автоматически!

  • Навсегда бесплатно для основных функций
  • 14-дневная пробная версия для премиум-функций и приложений

Наш самый популярный Zap!

  • Создание Google Contacts из новых строк Google Sheets

    Zapier

    Try It

    Google Sheets, Google Contacts

    Google Sheets + Google Contacts

    .

    Шаг 1: Новая строка электронной таблицы

  • Затем сделайте это

    Шаг 2: Создайте контакт

  • См. подробности Zap Попробуйте

    Создайте контакты Google из новых строк Google Sheets

    Zapier

    Create Google Contacts from new Google Sheets rows

    Try it

    Google Sheets, Google Contacts

    Google Sheets + Google Contacts

  • Add updated Google Контакты для электронных таблиц Google Sheets

    Zapier

    Попробуйте

    Google Contacts, Google Sheets

    Google Contacts + Google Sheets

    Подробнее
    1. Когда это произойдет

      Шаг 1: Новый или обновленная контакт

    2. Затем сделайте это

      Шаг 2: Создайте рядную таблицу

    Добавить обновленные контакты Google в электронные таблицы Google Sheets

    Zapier

    Добавить обновленные контакты Google в электронные таблицы Google Sheets

    Попробуйте

    Google Contacts, Google Sheets

    Google Contacts + Google Sheets

  • Добавить обновленные серисты Google.

Google Sheets, Google Contacts

Google Sheets + Google Contacts

Подробнее
  1. Когда это произойдет

    Шаг 1: Новая или обновленная строка электронной таблицы

  2. Затем сделайте это

    Шаг 2: Создайте контакт

См. подробности Zap Попробуйте

Добавьте обновленные строки таблицы Google Sheets

3 by 9000new as03 to Google Contacts Zapier

Zapier

Добавить обновленные строки электронной таблицы Google Sheets в Google Contacts как новые контакты

Попробуйте

Google Sheets, Google Contacts

Google Sheets + Google Contacts

  • Создание контактов с Google для новых или обновленных строк в листе Google (командный диск)

    Zapier

    Try

    • , Google Contacts

      Google Sheets + Google Contacts

      Подробнее
      1. В этом случае

        Шаг 1: Новая или обновленная строка таблицы (общий диск)

      2. Затем сделайте это

        Шаг 2: Создайте контакт

      См. подробности Zap Попробуйте

      Создайте контакты Google для новых или обновленных строк в Google Sheet (на общем диске)

      0 Zapier Создать Google контакты для новых или обновленных строк в Google Sheet (общий диск)

      Попробуйте

      Google Sheets, Google Contacts

      Google Sheets + Google Contacts

    • Создание контактов с Google для новых строк Google Sheet Rows (Team Drive)

      Zapier

      Попробуйте

      Google Sheets, Google Contact Details

      1. Когда это произойдет

        Шаг 1: Новая строка электронной таблицы (общий диск)

      2. Затем выполните следующее

        Шаг 2: Создайте контакт

      См. подробности Zap0005

      Создание Google Contacts для новых строк Google Sheet Rows (Team Drive)

      Zapier

      Создание Google Contacts для новых строк Google Sheet Rows (Team Drive)

      13 Таблицы, Google Контакты

      Google Таблицы + Google Контакты

    1. Шаг 1. Подтвердите подлинность контактов Google и Google Таблиц.

      30 секунд

    2. Шаг 2: Выберите одно из приложений в качестве триггера, который запустит вашу автоматизацию.

      15 секунд

    3. Шаг 3: Выберите результирующее действие из другого приложения.

      15 секунд

    4. Шаг 4: Выберите данные, которые вы хотите отправить из одного приложения в другое.

      2 минуты

    5. Готово! Больше времени для работы над другими делами.

    Подключить приложения

    Подключить Google Контакты + Google Таблицы

    О Google Контакты

    Google Контакты, адресная книга, встроенная в Gmail, позволяет отслеживать все ваши контакты, видеть, когда вы в последний раз взаимодействовали с ними, и многое другое .

    Узнать больше
    • Управление контактами
    • Google

    Microsoft Office 365

    Электронная почта, Microsoft

    Действовать! 365

    Управление контактами

    Zoho Mail

    Электронная почта, Zoho

    О Google Sheets

    Создавайте, редактируйте и делитесь электронными таблицами, где бы вы ни находились, с помощью Google Sheets и автоматически получайте ценные сведения из ваших данных.

    Подробнее
    • Google
    • Электронные таблицы

    Zoho Creator

    App Builder, Zoho

    Smartsheet

    Электронные таблицы

    Quip

    Документы

    Вы не можете добавить больше часов к суткам. Zapier — следующая лучшая вещь.


    ИЛИ

    *Рабочий адрес электронной почтыТребуется

    *ИмяТребуется

    *ФамилияТребуется

    Пароль

    Регистрируясь, вы соглашаетесь с условиями обслуживания и политикой конфиденциальности Zapier.

    • Цены
    • Справка
    • Платформа для разработчиков
    • Пресса
    • Вакансии
    • Zapier для компаний
    • Трансфер

    Следуйте США

    Zapier

    © 2023 Zapier Inc.

    • Legal

    Легко обмениваться профильными ссылками через контакты


    . Начало начало

    . эта функция доступна только для контактов, у которых есть электронная почта, связанная с их профилем Workspace, полезно, чтобы пользовательские данные были полностью заполнены во всех приложениях Google Workspace.

    Администраторы рабочей области могут заполнять эти данные в нескольких местах: 
    • Раздел «Пользователи» консоли администратора 
    • Google Cloud Directory Sync 
    • Admin SDK 
  • Посетите Справочный центр, чтобы узнать больше о добавлении информации в профиль пользователя в Каталоге.
  • Конечные пользователи:  
    • После этого откройте «Копировать ссылку на профиль» одним из двух способов:
      • В подробном представлении контакта выберите «меню с тремя точками» и нажмите « Скопировать ссылку на профиль».
      • В представлении списка контактов (например, contact.google.com) выберите «меню с тремя точками» для строки контакта и нажмите кнопку «Копировать ссылку на профиль».
    • Вы также можете ввести «contacts.google.com/emailaddress» в адресную строку веб-браузера, чтобы найти человека в вашей организации. Форматы электронной почты включают в себя: [email protected], jane.smith@domain и jane. smith.

    Скорость развертывания 

    • Домены быстрого выпуска и запланированного выпуска: расширенное развертывание (возможно, более 15 дней для демонстрации функций), начиная с 30 июня 2022 г., с предполагаемым завершением к 18 июля 2022 г. Из-за поэтапного характера В этом выпуске конечные пользователи смогут копировать ссылки на профили из адресной строки своего браузера, прежде чем они получат доступ к кнопке «Копировать ссылку на профиль».

    Доступно 

    • Доступно для всех пользователей Google Workspace, а также для пользователей устаревших версий G Suite Basic и Business 
    • Недоступно для пользователей с личными аккаунтами Google 

    Ресурсы 

    • Справка: добавление информации в Google Workspace
    • профиль пользователя в каталоге 
    • Справка администратора Google Workspace: о Google Cloud Directory Sync 
    • Справка администратора Google Workspace: API каталога

    Краткий обзор

    В 2021 году мы представили новый интерфейс Google Контакты (contacts. google.com), который предоставляет подробную информацию о ваших коллегах и заинтересованных лицах. Начиная с сегодняшнего дня каждый контакт с электронной почтой Workspace имеет новую ссылку на профиль, которую легко копировать, делиться и отправлять внутри организации. Эта новая ссылка на профиль помогает всем в вашей организации оставаться на связи и оставаться на связи.


    Начало работы 

    • Администраторы:  
      • Поскольку эта функция доступна только для контактов, у которых есть электронная почта, связанная с их профилем Workspace, полезно, чтобы пользовательские данные были полностью заполнены во всех приложениях Google Workspace. Администраторы рабочей области могут вводить эти данные в нескольких местах: 
        • В разделе «Пользователи» консоли администратора 
        • Google Cloud Directory Sync 
        • Admin SDK 
      • Посетите Справочный центр, чтобы узнать больше о добавлении информации в Каталог пользователя. профиль.
    • Конечные пользователи:  
      • После этого откройте «Копировать ссылку на профиль» одним из двух способов:
        • кнопка «ссылка на профиль».
        • В представлении списка контактов (например, contact.google.com) выберите «меню с тремя точками» для строки контакта и нажмите кнопку «Копировать ссылку на профиль».
      • Вы также можете ввести «contacts.google.com/emailaddress» в адресную строку веб-браузера, чтобы найти человека в вашей организации. Форматы электронной почты включают в себя: [email protected], jane.smith@domain и jane.smith.

    Скорость развертывания 

    • Домены быстрого выпуска и запланированного выпуска: расширенное развертывание (возможно, более 15 дней для демонстрации функций), начиная с 30 июня 2022 г., с ожидаемым завершением к 18 июля 2022 г. Из-за поэтапного характера В этом выпуске конечные пользователи смогут копировать ссылки на профили из адресной строки своего браузера, прежде чем они получат доступ к кнопке «Копировать ссылку на профиль».

    Ваш комментарий будет первым

      Добавить комментарий

      Ваш адрес email не будет опубликован. Обязательные поля помечены *