0

我正在尝试通过新的通知 api 向自己发布通知

这就是我获取访问令牌的方式(Wich 有效,因为我将它用于其他一些功能)

<?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 从 "/652286316/notifications?access_token=&expires=5883&template=hi toni&href= http://mywebsite.com/?yiha " facebook.php:222Error occurred:(#15) 此方法必须使用应用访问令牌。

我错过了什么?

4

1 回答 1

2

看起来您使用的是用户访问令牌而不是应用访问令牌 - 需要使用应用访问令牌发布通知

这里有一个使用应用访问令牌发布 Open Graph 操作的简要指南:https ://developers.facebook.com/docs/opengraph/using-app-tokens/

检索令牌的步骤也适用于此处。

更多详情:https ://developers.facebook.com/docs/howtos/login/login-as-app/

于 2012-11-02T23:45:34.567 回答