Facebook SDK PHP - Comment obtenir le jeton d'accès?

Je suis en train de poster sur Facebook mur de mon application. L'utilisateur les autorisations de l'application de post sur son mur, et j'ai userid en db. J'ai besoin d'envoyer le post automatiquement, sans que l'utilisateur de vous connecter à nouveau.

Mon code est:

try{
    require_once(dirname(__FILE__) . '\lib\facebook-php\src\facebook.php' );
}
catch(Exception $o){
        print_r($o);
}
$config = array(
    'appId' => '123456',
    'secret' => '454544',
    'allowSignedRequest' => false //optional but should be set to false for non-canvas apps
);

$facebook = new Facebook($config);
$user_id = $facebook->getUser();
$user_id = '123456';

if($user_id) {

    //We have a user ID, so probably a logged in user.
    //If not, we'll get an exception, which we handle below.
    try {

        $ret_obj = $facebook->api('/me/feed', 'POST',
            array(
                'access_token' => $facebook->getAccessToken(),
                'link' => 'www.example.com',
                'message' => 'Posting with the PHP SDK!'
            ));
        echo '<pre>Post ID: ' . $ret_obj['id'] . '</pre>';

        //Give the user a logout link
        echo '<br /><a href="' . $facebook->getLogoutUrl() . '">logout</a>';
    } catch(FacebookApiException $e) {
        //If the user is logged out, you can have a
        //user ID even though the access token is invalid.
        //In this case, we'll get an exception, so we'll
        //just ask the user to login again here.
        var_dump($e);
        $login_url = $facebook->getLoginUrl( array(
            'scope' => 'publish_stream'
        ));
        echo 'Please <a href="' . $login_url . '">login.</a>';
        error_log($e->getType());
        error_log($e->getMessage());
    }
} else {

    //No user, so print a link for the user to login
    //To post to a user's wall, we need publish_stream permission
    //We'll use the current URL as the redirect_uri, so we don't
    //need to specify it here.
    $login_url = $facebook->getLoginUrl( array( 'scope' => 'publish_stream' ) );
    echo 'Please <a href="' . $login_url . '">login.</a>';

}

Ce lève An active access token must be used to query information about the current user. d'erreur et vous demande de connexion. Après je clique sur connexion, le poste est sucesfully posté.

Comment puis-je obtenir le jeton d'accès avec identifiant, sans que l'utilisateur connecter?

Version remarque: le code ci-dessus a été remplacé par le SDK V4.

OriginalL'auteur user1049961 | 2014-02-19