【问题标题】:Explain the Facebook access_token解释 Facebook access_token
【发布时间】:2012-04-03 12:56:38
【问题描述】:

这整个 Facebook access_token 事情让我发疯了。我想要做的就是获取用户的公开 Facebook 帖子。

它曾经通过简单的操作来工作:

$.getJSON('http://graph.facebook.com/USERNAME/posts?limit=LIMIT&callback=?', function (posts) {
    // Posts available in "posts" variable
});

但现在我收到“需要访问令牌”错误。

相信我;我已经检查了文档,谷歌搜索并检查了关于 SO 的类似问题,但我真的希望有一种比我所看到的更直接的方法。

真的必须创建一个 Facebook 应用程序(我什至没有帐户),让用户“接受”该应用程序并登录等才能使其工作吗?

使用 Twitter 和使用 Facebook 一样简单。

【问题讨论】:

    标签: javascript facebook-access-token


    【解决方案1】:

    您确实必须创建一个 Facebook 应用程序(您需要有一个帐户),让用户“接受”该应用程序并登录等才能使其正常工作。

    但是,您可以通过 facebook 的公共搜索 api 搜索用户(不是特定用户)的公开帖子。

    例如

    https://graph.facebook.com/search?q=hello&type=post
    

    这将搜索所有带有 hello 关键字的帖子。

    参考资料(您需要拥有 facebook 帐户才能看到此页面)

    http://developers.facebook.com/docs/reference/api/

    编辑(在看到 cmets 之后):

    如果您想访问自己页面的公开帖子。您可以在没有用户登录的情况下提取它(但您需要一个 access_token)

    从这里生成一个离线的access_token,

    http://developers.facebook.com/tools/explorer

    然后您可以使用该令牌来提取数据。因此无需用户登录。

    https://graph.facebook.com/wesellwine/posts?access_token=<access_token from graph api explorer>
    

    【讨论】:

    • 感谢您的回答。如果你问我这完全是疯了。我想做的(好吧,我的客户)就是在他们的网站上显示他们的帖子。为什么访客需要接受这一点?如果访问者没有 Facebook 帐户怎么办?我知道我不是唯一一个遇到这个问题的人。我已经设法通过使用其他人的访问令牌来使其工作(我知道这远非理想)。但到目前为止,它总是在一段时间后停止工作。
    • 因为 Facebook 更改了他们的隐私设置。并不是说您仍然不能这样做(正如 Jashwant 指出的那样),您只是不能在未经用户许可的情况下以编程方式获取私人信息。这就像您访问了您不是朋友的某人的 Facebook 页面一样。如果他们的帖子不可见,则意味着他们已经以这种方式配置了安全性,您需要他们的许可。强制您创建应用程序可确保信息请求合法且可追溯,因为很容易欺骗普通 FB 用户同意“是/否”对话框。
    • 但我只关注公开信息。我可以抓取网站并获取我想要的信息,但我不想这样做。
    • 没有必要解释为什么它不允许。它的脸书政策。它不是推特。推特是一个公共网络。您甚至可以在 google.com 上搜索推文。我认为您甚至可以不登录就刮脸书。另外,如果我的回答对您有帮助,请将其标记为答案。
    • 你不同意要求这个过程(用户登录、接受、访问令牌等)来获取我自己的公开帖子,但要求它来获取整个星球的公开帖子(graph.facebook.com/search?q=hello&type=post)是完全疯狂的吗?我很难相信,但我还没有找到直接的解决方案。
    猜你喜欢
    • 2011-04-21
    • 2011-10-16
    • 2011-02-11
    • 2011-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-09
    • 2012-08-22
    相关资源
    最近更新 更多