【发布时间】:2011-11-26 08:41:07
【问题描述】:
您好,我正在尝试发布到用户的墙上,但出现以下错误: 未捕获的 OAuthException:必须使用活动访问令牌来查询有关当前用户的信息。扔了....
我的 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);
如何获取用户访问令牌?
【问题讨论】: