【问题标题】:Facebook Javascript SDK: Processing Response from FacebookFacebook Javascript SDK:处理来自 Facebook 的响应
【发布时间】:2012-02-03 11:30:39
【问题描述】:

当您对 facebook 进行 API 调用时,我无法理解如何处理响应。应该提到我是 javascript 新手。

假设我想获取我和某个用户之间的共同朋友,然后将其写入文本框。我拍了一张照片,结果……失败了。我很确定这是因为我没有解析响应,但我不知道如何解析。我见过类似 query.wait(function(rows){ 的 FQL 查询……但我不知道那是什么意思……所以我跳过了。

function getMutual(){

    FB.api('/me/mutualfriends/'+target, function(response) {

            document.getElementById('debug').innerHTML =
            'FQL Information: '+  response +"<br />";
    });
}

【问题讨论】:

    标签: javascript facebook facebook-graph-api facebook-javascript-sdk


    【解决方案1】:

    在回调函数function(response) { 的开头,执行debugger; 语句以在浏览器中开始调试,或者您可以执行console.dir(response); 以查看对象结构。学习 JavaScript 的一半是在学习如何使用现代浏览器现在内置的一些强大工具。

    【讨论】:

    • 谢谢!。很抱歉之前的混乱。
    • 你会到达那里的。需要时间。对于您的第一个 javascript 项目与 Facebook 集成是一个了不起的选择,因为两者都有陡峭的学习曲线。
    【解决方案2】:

    响应将返回以下数据:

    {
      "data": [
        {
          "name": "XXX", 
          "id": "YYY"
        }, 
        {
          "name": "ZZZ", 
          "id": "OOO"
        }, 
        ...
    }
    

    通过JS获取信息, 你可以迭代数组 response.data

    例如 response.data[0].name 返回 XXX

    【讨论】:

    • 看起来很简单!出于好奇,您能否向我解释一下 query.wait(function(rows) 的工作原理?我在 fql 的示例中看到了它...如果我没有任何意义,请告诉我:)
    • 是的,大部分响应数据都可以这样被JS读取。正如 DMCS 所提到的,您可以记录响应以查看结构,FB 文档没有提供有关响应的太多信息。我之前没有尝试过 FQL 方法,您可以尝试在这里阅读:stackoverflow.com/questions/5773841/…,只是在此站点中快速搜索。 query.wait 是一个回调,就像 Graph API 的 function(response){} 一样。 rows 是保存结果数据的数组
    猜你喜欢
    • 2013-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-09
    • 1970-01-01
    • 2016-08-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多