Перечислите все профили Google Apps на сайте PHP - PullRequest
5 голосов
/ 10 января 2012

Я пытаюсь получить список всех пользователей домена Служб 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 "Получить все профили" с PHP

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

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

1 Ответ

6 голосов
/ 17 января 2012

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

Вам нужно будет реализовать процесс 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 истечет expire . Сохраните их в базе данных
  • Всякий раз, когда вам нужно сделать вызов API, проверьте, истек ли ваш access_token или нет, и обновите при необходимости, для чего предназначен refresh_token. Аргумент refresh_token действителен до тех пор, пока вы не отзовете доступ, который вы дали приложению.

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

...