初学者,我已经迷失在Facebook开发者文档和谷歌数小时。我确信这是一个简单的问题,但我只是需要一些方向。
我正在尝试做什么:使用JavaScript从公共Facebook页面查询页面所有者的最新帖子并解析它以在我自己的HTML中显示(不能使用Social Plugin - 我需要自定义控件通过HTML / CSS)。
到目前为止我的工作是什么:
var token = '<my_token>';
var query = 'fields=posts.limit(1)';
var request = 'https://graph.facebook.com/[mypage]?' + query + '&access_token=' + token;
$.getJSON(request, function(response) {
alert(response.posts.data[0].message);
});
这确实有效,但Access Token debugger表示我的access_token将在2个月内过期。为什么?这是一个公共Facebook页面,我只想查询页面所有者的最新评论。我真的需要创建一个Facebook应用程序并通过PHP登录才能访问这些公共信息吗?
我正在使用Twitter提要执行完全相同的操作,我所要做的只是$ .getJSON http://api.twitter.com/1/statuses/user_timeline/。json,完全使用JavaScript。
似乎从Facebook获取类似信息要困难得多,但也许我会以错误的方式解决这个问题?
答案 0 :(得分:1)
这确实有效,但是,Access Token调试器说我的access_token将在2个月后到期。为什么呢?
因为这就是用户访问令牌所做的事情。
我真的需要创建一个Facebook应用程序并通过PHP登录才能访问这些公共信息吗?
对于以任何方式受到限制的网页(根据年龄,国家或与酒精相关的内容),您 使用用户访问令牌,因为这是Facebook可以判断您是否唯一的方法实际上允许看到内容。
如果它是您自己的页面,那么您可以生成页面访问令牌 - 如果您使用长期用户访问令牌来获取它们,则默认情况下这些令牌不会过期。
但是您不希望在客户端JavaScript中公开这种令牌,因为访问您网站的每个人都可以从那里窃取它并代表您的网页行事。