Перечислите все профили Google Apps на сайте PHP

Я пытаюсь получить список всех пользователей домена Служб Google на общедоступном веб-сайте PHP (без необходимости посещать сайт или делать что-либо еще). У меня есть базовое понимание того, что должно произойти, но я не могу собрать все это воедино. Это не может быть так сложно, как мне кажется... не так ли?

Аутентификация и авторизация: я почти уверен, что ему нужно использовать OAuth 2.0... но я не уверен, нужны ли ему 2 или 3 ноги. У меня есть другой раздел сайта, работающий с ClientLogin, но он не будет включать профили Google Apps, только имена и фамилии пользователя (мне нужны другие поля профиля). Я настроил доступ к API внутри учетной записи, и у меня есть все для этого (я верю).

Я нашел эту страницу, которая показывает, как построить запрос URL, чтобы получить все профили (на любом языке, кроме PHP, конечно), но не понимаю, как это реализовать. http://code.google.com/googleapps/domain/profiles/developers_guide.html

Я также попробовал этот пример, но он просто дает мне 401 после ввода учетных данных. http://gdatatips.blogspot.com/2008/11/2-legged-oauth-in-php.html

Я не знаю, какие рамки или включения необходимы для достижения этого либо. Я пробовал Zend, OAuth.php и целый ряд других загрузчиков... но все время теряюсь в том, что делает каждый.

Если бы кто-то мог помочь мне, обрисовав в общих чертах:

  1. Какие файлы / рамки мне нужно загрузить и включить в качестве начальной загрузки
  2. Какие переменные в этих файлах мне нужно обновить с помощью учетных данных Google
  3. Как я интегрирую запрос Google Profiles "Получить все профили" с PHP

Обзор ELI5 (объясните, что мне 5) будет очень признателен... Я извиняюсь за свою очевидную некомпетентность, но я читаю статьи почти неделю и никуда не попал.

Заранее благодарю за любую предоставленную помощь.

1 ответ

Решение

Хороший вопрос.

Вам нужно будет внедрить процесс Google OAuth 2.0, как он описан здесь (экспериментально?), Потому что кто-то (вы) должен будет дать вашему приложению начальные разрешения для доступа к API Служб Google. Шаги:

  • Зарегистрируйте свой домен в Google (не запомните ссылку)
  • Перенаправьте / отправьте браузер на URL-адрес для аутентификации: https://accounts.google.com/o/oauth2/auth с соответствующими параметрами запроса (см. Первую ссылку). Тебе понадобиться access_type=offlineваша область действия будет https://apps-apis.google.com/a/feeds/user/
  • Получить код обратно, затем обменять на refresh_token, access_token и значение, указывающее, когда истечет срок действия access_token. Храните их в базе данных
  • Всякий раз, когда вам нужно сделать вызов API, проверьте, не истек ли срок действия вашего access_token, и обновите при необходимости, для чего предназначен refresh_token. Аргумент refresh_token действителен до тех пор, пока вы не отзовете доступ, который вы дали приложению.

OAuth Playground очень помогает. Удачи.

Другие вопросы по тегам