Facebook应用未捕获OAuthException:必须使用活动的访问令牌来查询有关当前用户的信息。抛出 [英] Facebook App Uncaught OAuthException: An active access token must be used to query information about the current user. thrown

查看:204
本文介绍了Facebook应用未捕获OAuthException:必须使用活动的访问令牌来查询有关当前用户的信息。抛出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,我想发布到用户的墙上,但发生以下错误:
未捕获OAuthException:必须使用活动的访问令牌来查询有关当前用户的信息。抛出....

Hello I am trying to post to the wall of a user but the following error occurs: Uncaught OAuthException: An active access token must be used to query information about the current user. thrown ....

我的Facebook脚本是:

My facebook script is:

$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);

如何获取用户访问令牌?

How can i obtain users access token?

推荐答案

在浏览器中打开此文件:

Open this in a browser:

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

您将被重定向到: / p>

You’ll be redirected to:

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

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

And you have your access token, you can go ahead and use it:

https://graph.facebook.com/me?access_token=
    [ACCESS TOKEN]

这篇关于Facebook应用未捕获OAuthException:必须使用活动的访问令牌来查询有关当前用户的信息。抛出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆