2010-12-14 91 views
0

嘿大家, 我想在facebook應用程序中的facebook會話(offline_access)session_keysecret臉書越來越session_key offline_access在畫布應用程序

但是,我無法得到這兩個特定的變量。 時,我在本地測試相同的代碼,我可以得到上面的變量(但是這可能是因爲當地的應用並非畫布應用程序)

我使用下面的代碼男,對重定向:

$facebook->getLoginUrl(array(
    'canvas' => 1, 
    'fbconnect' => 0, 
    'req_perms' => 'user_status,publish_stream,offline_access' 
)); 

有人可以建議我如何在用戶授權應用程序時獲取session_keysecret嗎? (永久離線訪問)

這裏是通過Facebook爲例session轉儲:

Array (
    [uid] => 100000926583671 
    [session_key] => 
    [expires] => 0 
    [secret] => 
    [base_domain] => 
    [access_token] => 183043495039366|3ab6ac2asdkhj1bcfdec13d7-100000926583671|jJQaIT-n80YxioAasdwN0cm99U 
    [sig] => 2f64sadasc1da31c12927a052752776 
) 

,這是錯誤:

Array (
    [error] => Array (
      [type] => OAuthException 
      [message] => An active access token must be used to query information about the current user. 
     ) 
    ) 

回答

1

session_key可以祕密現在過時了, Facebook希望您使用Oauth身份驗證架構。然後,您將不得不使用給定的access_token(即您正確獲取$ session)來進行API調用。

嘗試:

$session = $facebook->getSession(); 
$me = $facebook->api('/100000926583671', 
        array('access_token' => $session['access_token']) 
    ); 
var_dump($me); 

編號: http://developers.facebook.com/docs/authentication/

+0

你有什麼想法應該'sig'使用? – 2012-04-03 12:00:40