2012-01-05 83 views
1

我有這個網站上的Facebook登錄領帶,但無法讓它正常工作。所以,我下載了最新的PHP SDK,並在這裏建立的例子:Facebook的SDK/PHP的示例代碼不起作用

http://thedrinknation.com/facebook-php-sdk-70030bb/examples/with_js_sdk.php

我已經有一些成功獲得JavaScript來的工作,但從來沒有PHP能夠搞清楚用戶是誰。 (注意:我上面發佈的鏈接是從github下載的CLEAN代碼 - 我只是更改了APPID和祕密ID)。

我正在尋找一些方向 - 我有一個錯誤的FB?像應用程序類型,或者什麼?

-Jim

+0

你應該發佈源代碼,以便人們能夠幫助你。記得在發佈源代碼之前隱藏您的APP ID和APP密鑰。 – 2012-01-05 20:44:43

回答

0

JS-SDK正在以正確的方式設置cookie並返回登錄狀態。

該問題可能與您的服務器從不將cookie返回給瀏覽器這一事實有關。所以每次刷新頁面時,新的cookie都由JS-SDK生成。它發送給瀏覽器的唯一cookie是 PHPSESSID,只有在丟失時才發送。

似乎每次調用FB.getLoginStatus()都會產生新的cookie。你確定你有像「App Domains」和「Site/Canvas URL」這樣正確的應用程序設置嗎?

+0

「這個問題可能與您的服務器從不將Cookie返回給瀏覽器這一事實相關 - 」爲什麼服務器會在每個響應中返回Cookie?請提供一份標題樣本作爲您的觀點證明 – zerkms 2012-01-05 21:05:32

+0

Cookie用於維護會話狀態,否則用戶將不得不登錄每個頁面請求。 – DMCS 2012-01-05 21:10:11

+0

我從來沒有說過它應該在每次請求時都返回。 – 2012-01-05 21:30:20