【问题标题】:Reading feed using JavaScript SDK使用 JavaScript SDK 阅读提要
【发布时间】:2012-07-23 11:32:01
【问题描述】:

我正在尝试使用 JavaScript SDK 检索用户的新闻提要。这在测试控制台中可以正常工作,但一旦我在我的网站上尝试它就无法正常工作。

FB.api('/me/home', 'get', function(response) {
  if (!response || response.error) {
    alert('Error occured');
  } else {
    alert(response);
  }
});

我知道警报只会返回“[object]”,但我只是想让 API 调用立即工作。任何帮助将不胜感激

【问题讨论】:

    标签: javascript facebook api get feed


    【解决方案1】:

    您是在向用户请求read_stream 权限吗?没有该权限,您无法查看用户的供稿。这可能是错误的原因。

    提醒实际错误以使调试更容易:

    alert( response.error );
    

    或者更好的是,使用console.log

    FB.api('/me/home', 'get', function(response) {
      console.log(response);
    });
    

    过早调用函数可能会导致调用失败。尝试将您的函数包装在 fbAsycInit 函数中:

    window.fbAsyncInit = function() {
        FB.api('/me/home', 'get', function(response) {
            console.log(response);
        });
    };
    

    【讨论】:

    • 我刚刚检查了访问令牌工具并使用为我的应用程序生成的令牌工作正常。所以我不认为这可能是权限问题。顺便说一句,我正在请求该许可。
    • 更改代码以提醒实际错误消息,以便更轻松地调试问题。
    • 问题是,我什至从未收到警报。我放在 FB.api 函数中的任何代码都没有运行。
    • 这表明您的代码还有其他问题。 JS SDK 尚未初始化(即过早调用该函数或在页面加载时执行它)。尝试将您的代码包装在window.fbAsyncInit = function() { /* your function here */ };
    • 这招就搞定了。非常感谢,我想它一定是调用得太早了。
    猜你喜欢
    • 1970-01-01
    • 2012-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多