为什么我的FB.api请求总是产生错误响应?

时间:2012-03-23 15:45:37

标签: javascript facebook api

我有一个名为'thenovel'的Facebook应用程序。它具有分配给对象“句子”的动作“率”。当调用'dofacebookstuff()'函数时,我希望用户对句子的评级 - 目前的'testsentence' - 发布到他们的时间线。 “评级”不需要访问令牌。

每当调用dofacebookstuff()时,都会弹出错误提示。我已经测试了'!response'或'response.error'是否导致它,并且每次都是'response.error'。

我可以使用FB.login获取用户ID,名称等,但api调用不起作用。如果我直接进入'https://graph.facebook.com/me/thenovel:rate?sentence=testsentence&access_token=XXXXX',我会看到以下内容:

{
"data": [   ],
"paging": {
  "next": "https://graph.facebook.com/me/thenovel:rate?sentence=testsentence&access_token=XXXXX&offset=25&limit=25"
}
}

我已经检查了我的HTML,所有与Facebook相关的东西都在那里,并且在正确的位置。页面上的其他任何脚本都不会产生错误。这是有问题的功能:

function dofacebookstuff() {
    FB.api(
          '/me/thenovel:rate?sentence=hello&access_token=' + accesstoken,
          'post',
          function(response) {
             if (!response || response.error) {
                alert('Error occured');
             } else {
                alert('Action ID: ' + response.id);
             }
          });
    }

有人能解释我哪里出错吗?我的回复数据在哪里?

2 个答案:

答案 0 :(得分:1)

如果您要发布到/me,那么您需要为该用户提供有效的访问令牌 - 您有吗?它可能已经过期,但我认为该消息是指您尚未提供的消息,因为如果令牌无效或已过期,则该消息是特定消息。 如果您正在进行某种类型的离线发布,则应该可以使用app access token发布到/USER_ID/thenovel:rate

答案 1 :(得分:0)

首先尝试使用FB连接登录。