Php Facebook应用程序未捕获OAutheException:必须使用活动访问令牌来查询有关当前用户的信息。扔
您好,我正在尝试将帖子发送到用户的墙上,但出现以下错误: 未捕获OAutheException:必须使用活动访问令牌来查询有关当前用户的信息。扔 我的facebook脚本是:Php Facebook应用程序未捕获OAutheException:必须使用活动访问令牌来查询有关当前用户的信息。扔,php,facebook,token,Php,Facebook,Token,您好,我正在尝试将帖子发送到用户的墙上,但出现以下错误: 未捕获OAutheException:必须使用活动访问令牌来查询有关当前用户的信息。扔 我的facebook脚本是: $appId = 'xxxxxx'; //change as necessary $appUrl = "xxxxx"; //change as necessary $baseUrl = "xxxxx/"; //change as necessary // Create our Application instance
$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);
$appId='xxxxxx'//必要时改变
$appUrl=“xxxxx”//必要时改变
$baseUrl=“xxxxx/”//必要时改变
//创建我们的应用程序实例。
$facebook=新的facebook(数组)(
“appId”=>$appId,
'secret'=>'xxxxxx',//根据需要进行更改
“cookie”=>正确,
));
$session=$facebook->getSession();
$fbme=null;
//基于会话的图形API调用。
如果(!$session)
{
$login\u url=$facebook->getLoginUrl
(
排列
(
“canvas”=>正确,
“fbconnect”=>错误,
“req_perms”=>“用户位置、电子邮件、发布流、好友关于我、离线访问,”,
)
);
echo“top.location.href=”$login_url.“;”;
}
$session=$facebook->getSession();
$me=null;
//基于会话的API调用。
如果($会议){
试一试{
$uid=$facebook->getUser();
$me=$facebook->api('/me');
$mail=$me[电子邮件];
}捕获(FacebookApiException$e){
错误日志($e);
}
}
$signed_request=$_request[“signed_request”];
列表($encoded_sig,$payload)=分解('.',$signed_请求,2);
$data=json_解码(base64_解码(strtr($payload,'-'','+/')),true);
$token=$data[oauth_token];
$attachment=array('消息'=>'',
“访问令牌”=>$token,
'名称'=>'',
“标题”=>“”,
'链接'=>'',
'说明'=>'',
'图片'=>'',
'actions'=>array(array('name'=>Get Social',
'链接'=>'')
);
$result=$facebook->api('me/feed','post',$attachment);
如何获取用户访问令牌?在浏览器中打开此项:
https://graph.facebook.com/oauth/authorize?
类型=用户\代理&
客户端\u id=[APP id]&
重定向_uri=http%3A%2F%2Fxyz.com&
范围=用户照片、电子邮件、用户生日、用户在线状态
您将被重定向到:
http://xyz.com/#access_token=[访问令牌]。
如果您有访问令牌,您可以继续使用它:
https://graph.facebook.com/me?access_token=
[访问令牌]