【问题标题】:Why does my FB.api request always produce an error response?为什么我的 FB.api 请求总是产生错误响应?
【发布时间】:2012-03-25 05:00:26
【问题描述】:

我有一个名为“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);
             }
          });
    }

谁能解释我哪里出错了?我的响应数据在哪里?

【问题讨论】:

    标签: javascript facebook api


    【解决方案1】:

    如果您要向/me 发帖,您需要该用户的有效访问令牌 - 您有吗?它可能已经过期,但我认为该消息专门指的是您没有提供一个事实,因为如果令牌无效或过期,则会有一条特定消息。 如果您正在进行某种离线发布,您应该可以使用app access token 发布到/USER_ID/thenovel:rate

    【讨论】:

    • 谢谢。我现在有一个活动的访问令牌,所以我的代码如上。它仍然显示“发生错误”。
    • 没有比这更具体的了? ://
    • '{ "data": [ ], "paging": { "next": "graph.facebook.com/me/…" }}' 就是我得到的所有......我确定我正在做某事明显的错误,因为在网站上获得基本的 Facebook 交互并不是那么困难......
    • 这看起来像是对 GET 请求的响应,而不是 POST 请求
    【解决方案2】:

    先尝试使用 FB connect 登录。

    【讨论】:

      猜你喜欢
      • 2019-01-17
      • 2018-06-15
      • 2022-01-19
      • 1970-01-01
      • 1970-01-01
      • 2021-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多