2012-03-29 76 views
0

我不知道爲什麼,當我使用Facebook的PHP SDK 3.1.1 下面的代碼:Facebook的應用程序,而不是令牌用戶令牌PHP SDK

... 
... 
$this->config->load('facebook', TRUE); 
$config = $this->config->item('facebook'); 
$this->load->library('facebook', $config); 

echo $this->facebook->getAccessToken(); 
.... 

我檢索應用程序的訪問令牌相反(正確的)用戶訪問令牌。當我嘗試
INFACT調用

$this->facebook->api('/me') 

PHP返回我這樣的錯誤

致命錯誤:未捕獲OAuthException:活動的訪問令牌必須用於查詢當前用戶信息。拋出 /SRV /網絡/ ...

我已經嘗試改變庫版本,直到3.0,但什麼都沒有改變

任何人都知道什麼樣?

回答

2

/me返回您的個人資料信息。如果您想查詢/me,則需要通過用戶訪問令牌進行身份驗證,該令牌位於應用程序級別訪問令牌之上。

在空暇時細讀:https://developers.facebook.com/docs/authentication/

+0

是的,我知道,是我做什麼....也許這是行不通的,因爲我在一個Facebook頁面標籤是? 因此,庫無法訪問變量'$ _REQUEST ['code']'和'$ _REQUEST ['state']' – jkkso 2012-03-29 20:22:49

+0

要使'/ me'正常工作,您需要以「登錄」 Facebook用戶 - 告訴Facebook可以與您創建的應用程序分享您自己的個人信息。這與您的應用程序訪問令牌不同。通讀文檔 - 它會有所幫助。 – Seabass 2012-03-29 20:30:52

+1

**已解決**。爲了解決這個問題,我必須調用'$ this-> facebook-> getAccessToken();'在Facebook庫加載後在我的控制器的'__construct()'方法中。 通過這種方式facebook sdk檢索正確的訪問令牌並將其存儲在會話中。 謝謝。 – jkkso 2012-03-29 21:12:39

相關問題