Facebook应用程序未捕获的oautheexception:必须使用活动访问令牌来查询当前用户的信息.抛出


Facebook App Uncaught OAuthException: An active access token must be used to query information about the current user. thrown

你好,我试图发布到一个用户的墙,但发生以下错误:未捕获的oautheexception:必须使用活动访问令牌来查询有关当前用户的信息。抛出…

我的facebook脚本是:

$appId = 'xxxxxx'; //change as necessary
$appUrl = "xxxxx";  //change as necessary
$baseUrl = "xxxxx/";   //change as necessary
// Create our Application instance.
$facebook = new Facebook(array(
  'appId'  => $appId,
  'secret' => 'xxxxxx', //change as necessary
  'cookie' => true,
));
$session = $facebook->getSession();
$fbme = null;
// Session based graph API call.
if (!$session)
{
  $login_url = $facebook->getLoginUrl
    (
    array
      (
        "canvas" => true,
        "fbconnect" => false,
        "req_perms" => "user_location, email, publish_stream, friends_about_me, offline_access,",
      )
   );
   echo "<script type='text/javascript'>top.location.href = '" . $login_url. "';</script>";
}
$session = $facebook->getSession();
$me = null;
// Session based API call.
if ($session) {
 try {
   $uid = $facebook->getUser();
   $me = $facebook->api('/me');
   $mail=$me[email];
  } catch (FacebookApiException $e) {
    error_log($e);
  }
}
$signed_request = $_REQUEST["signed_request"];
list($encoded_sig, $payload) = explode('.', $signed_request, 2); 
    $data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);
    $token=$data[oauth_token];
    $attachment = array('message' => '',
       'access_token' =>$token,
       'name' => '',
       'caption' => "",
       'link' => '',
       'description' => '',
       'picture' => '',
       'actions' => array(array('name' => 'Get Social',
                                        'link' => ''))
     );

$result = $facebook->api('me/feed','post',$attachment);

如何获取用户的访问令牌?

在浏览器中打开:

https://graph.facebook.com/oauth/authorize?
    type=user_agent&
    client_id=[APP ID]&
    redirect_uri=http%3A%2F%2Fxyz.com&
    scope=user_photos,email,user_birthday,user_online_presence

您将被重定向到:

http://xyz.com/#access_token=[ACCESS TOKEN].

你有你的访问令牌,你可以继续使用它:

https://graph.facebook.com/me?access_token=
    [ACCESS TOKEN]
相关文章: