2012-01-10 66 views
5

我試圖將一個域的所有Google Apps用戶列表放入公共PHP網站(沒有該網站的訪問者需要登錄或執行任何操作)。我對需要發生的事情有一個基本的瞭解,但不能把它們放在一起。它不能像我看起來那麼難...可以嗎?列出PHP網站上的所有Google Apps配置文件

身份驗證和授權: 我敢肯定它需要使用的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和一大堆其他bootstraps ...但是每個人都在做什麼都會迷失方向。

如果有人可以幫助我通過概述:

  1. 哪些文件/框架,我需要上傳,包括作爲引導
  2. 那些我需要與谷歌憑據更新文件中哪些變量
  3. 我如何整合谷歌個人檔案「檢索所有配置文件」用PHP

ELI5請求(解釋它就像我5 )概述將是非常感謝......我很抱歉我顯然無能,但我已經閱讀了近一週的文章,並沒有得到任何地方。

非常感謝您提供的任何幫助。

+0

在OAuth流程中,您需要將用戶重定向到Google頁面,以便他們授予您適當的權限。但是你不想要求訪問者以任何方式登錄?!請解釋 – ori 2012-01-15 18:35:17

+0

正確,我希望讓用戶訪問該頁面並查看數據(無需重定向)...身份驗證將在幕後進行。如果域名是我的,我不應該讓網站用戶登錄而不能在我的網站上顯示它的信息? – RANGER 2012-01-16 19:47:31

回答

6

好問題。

你需要實現谷歌的OAuth 2.0的過程,因爲它是描述here(實驗?),因爲有人()將需要給你的應用程序的初始權限來訪問谷歌Apps的API。步驟是:

  • 註冊與谷歌站點(不記得鏈接)
  • 重定向/發送到瀏覽器的認證網址: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幫助很大。祝你好運。