我正在尝试通过新通知api
向自己发布通知这就是我获取访问令牌的方式(因为我将其用于其他一些功能,因此可以使用)
<?php
$code = $_REQUEST["code"];
//auth user
if(empty($code)) {
$dialog_url = 'https://www.facebook.com/dialog/oauth?client_id=appid&redirect_uri=' . urlencode('http://funcook.com/facebook.php') ;
echo("<script>top.location.href='" . $dialog_url . "'</script>");
}
//get user access_token
$token_url = 'https://graph.facebook.com/oauth/access_token?client_id=appid&redirect_uri=' . urlencode('http://funcook.com/facebook.php')
. '&client_secret=[REMOVED SECRET]&code=' . $code;
$access_token = file_get_contents($token_url);
?>
这就是我尝试发送通知的方式:
<script>
FB.api('/<?=$uid?>/notifications?<?=$access_token?>&template=hi toni&href=http://mywebsite.com/?yiha', 'post', {}, function (response) {
if (!response || response.error) {
console.log('Error occured:' + response.error.message);
}else{ console.log('Post ID: ' + response.id);
}
});
</script>
这是控制台记录的内容:
逃离未转义的角色\ x20 &#34; / 652286316 /通知的access_token =安培;期满= 5883&安培;模板=喜 TONI&安培; HREF = http://mywebsite.com/?yiha&#34; facebook.php:222Error 已发生:(#15)必须使用app access_token调用此方法。
我错过了什么?
答案 0 :(得分:2)
看起来您正在使用用户访问令牌而不是应用访问令牌 - 需要使用App Access令牌发布通知
有一个使用应用访问令牌在此处发布Open Graph操作的简要指南:https://developers.facebook.com/docs/opengraph/using-app-tokens/
检索令牌的步骤也适用于此。
更多详情:https://developers.facebook.com/docs/howtos/login/login-as-app/