Запрос API Gmail через HTTP URL

Я хочу иметь возможность запрашивать API Gmail через HTTP-запрос GET.

Я пытаюсь запросить API Gmail, чтобы получить счетчик непрочитанных сообщений из метки INBOX.

Справочник по API: https://developers.google.com/gmail/api/v1/reference/users/labels/get

Ссылка API показывает следующий HTTP-запрос для получения непрочитанного числа.

GET https://www.googleapis.com/gmail/v1/users/userId/labels/id

Справочник по API также говорит, что вам нужна авторизация через OAuth 2.0.

Мне удалось получить примеры работы в библиотеке PHP для успешного запроса API, но не хватает документации PHP для написания какого-либо конкретного кода.

Однако в справочнике по API перечислены все HTTP-вызовы для доступа к различным частям API, однако я не могу понять, как использовать OAuth (токены доступа) с этими HTTP-запросами?

1

Решение

Официальная клиентская библиотека PHP поставляется с несколькими примерами: этот это показывает вам, как пройти аутентификацию с помощью OAuth. API документация Также есть много информации об этом процессе.

Чтобы получить количество непрочитанных сообщений, вы должны сделать что-то вроде этого:

// $googleClient is an authenticated instance of 'Google_Client'
$gmail = new \Google_Service_Gmail($googleClient);
$label = $gmail->users_labels->get('me', 'INBOX');
$unreadCount = $label->messagesUnread;

Возможно, вам придется отключить «Просмотр беседы» в настройках Gmail, чтобы получить точный результат.

3

Другие решения

Доступ к API Gmail в php должен быть похож на другие API Google из php. Может быть, посмотрите на примеры быстрого запуска из календаря или API Google Drive в PHP и поработайте оттуда?

Если у вас есть токен доступа oauth2, вы часто можете просто поместить его в заголовок «Авторизация». c.f. https://tools.ietf.org/html/rfc6750#section-2.1
Хотя, честно говоря, я думаю, что в долгосрочной перспективе будет гораздо проще понять, как это сделать с помощью библиотеки PHP API Google …

1

По вопросам рекламы [email protected]