您好我试图发布到用户的墙上但发生以下错误: 未捕获OAuthException:必须使用活动访问令牌来查询有关当前用户的信息。抛出....
我的脸书脚本是:
$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);
如何获取用户访问令牌?
答案 0 :(得分:1)
在浏览器中打开它:
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]