2014-12-27 23 views
0

我正在嘗試使用圖形API從我的私人組頁面中拉取事件列表,以便在我的網站上放置該組,以便人們可以在網站上查看我們所有的事件。我可以在Graph API Explorer工具上獲取我想要的數據,但我無法在PHP中複製它。Facebook圖形API組事件和身份驗證

我沒有使用SDK或任何東西,只是簡單的GET調用API來獲取我想要的數據。它使用資源管理器工具中的訪問令牌工作了大約一個小時,然後該令牌不再工作。我一直在試圖弄清楚如何正確認證,但該主題上的所有文檔僅展示瞭如何使用JavaScript SDK與服務器端API調用一起認證當前頁面上的用戶。

我想要的只是使用服務器端的我的帳戶加載頁面加載數據來拉動事件並將它們放在頁面上供任何人查看,而不需要任何人擁有Facebook帳戶並給我的應用程序訪問他們的信息。我怎樣才能做到這一點?

回答

0

摘要:通過存儲長期訪問令牌在服務器上,你可以用它來調用服務器端的圖形API,在代表用戶(這是你),即使沒有用戶的存在(因爲當你的朋友/觀衆觀看你的網站時你不會在那裏)。

龍解釋

你最大的擔憂是令牌到期,當你使用瀏覽器API令牌時剛剛經歷。這是預期的行爲,我們稱這些短命令標記持續大約幾個小時。如果你想要持續更長的時間,你需要一個長壽命的標記。 Read more on the topic here.

在您的情況下,您可能會手動獲取此長命令令牌,並在PHP SDK上使用它來從後端獲取所需的數據。客戶端沒有人需要連接。只要確保你在60天后回來(長命令標記默認過期)並刷新一個新的令牌並用它更新你的腳本。

請注意,生成長壽命令牌需要您通過client_idclient_secret,如開發人員文檔中所述。如果您以前只使用Graph API Explorer,則此時可能需要create your own application才能獲取這些憑證。

+0

感謝您的信息!我正在研究長壽命的令牌,我的目標是使其完全自動化,所以我不必一直回到真相。我有一個應用程序ID和祕密,但不知道如何將此應用程序的權限授予user_events和user_groups。我在哪裏可以找到我的用戶ID和祕密來驗證自己的身份?在cookies /本地存儲? – ABlankenship 2014-12-27 18:59:37

+0

你的意思是'client_id',而不是用戶標識對嗎?當您從開發者網站查看您的應用程序時,您可以看到這些憑據。如果您目前沒有腳本,您還可以使用圖形瀏覽器來允許權限。有一個下拉列表,您可以選擇使用哪個應用程序用於進一步的api explorer調用。 – dragonjet 2014-12-27 19:12:26

+0

在應用程序的情況下是。看看你鏈接的Expiration和Extending Tokens部分下面的圖形,我試圖完成的是跳過客戶端部分中的第一個框,並手動在服務器端使用API​​調用。 – ABlankenship 2014-12-27 19:21:37