2010-12-14 2 views
0

Hey alle, Ich versuche, die session_key und secret für eine Facebook-Sitzung (offline_access) in Leinwand-Anwendung zu bekommen.facebook session_key für offline_access in leinwand anwendung

Allerdings kann ich diese beiden Variablen nicht erhalten. Wenn ich den gleichen Code lokal testen bin, kann ich die Variablen oben erhalten (dies kann aber sein, weil die lokale Anwendung nicht eine Leinwand Anwendung ist)

Ich bin mit dem folgenden Code, für Redirect:

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

Kann mir jemand vorschlagen, wie ich die session_key und secret greifen kann, wenn der Benutzer die Anwendung autorisiert? (Für permanenten Offline-Zugriff)

Hier ist ein Beispiel session Dump via Facebook:

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

und das ist der Fehler:

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

Antwort

1

session_key und Geheimnis sind jetzt veraltet, und Facebook möchte, dass Sie das Oauth-Authentifizierungsschema verwenden. Dann müssen Sie access_token (die Sie richtig in $ Sitzung erhalten) gegeben, um Ihre API-Anrufe zu machen.

Versuchen:

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

Ref: http://developers.facebook.com/docs/authentication/

+0

Sie haben keine Ahnung, sollte 'sig' verwendet werden? –

Verwandte Themen