新しい通知 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>
コンソールのログは次のとおりです。
「/652286316/notifications?access_token=&expires=5883&template=hi toni&href= http://mywebsite.com/?yiha」からエスケープされていない文字 \x20 をエスケープしています facebook.php:222エラーが発生しました:(#15) このメソッドは、アプリ access_token.
私は何が欠けていますか?