0

这里是初学者,我已经在 Facebook 开发人员文档和 Google 中迷失了好几个小时。我确定这是一个简单的问题,但我只需要一些指导。

我正在尝试做的事情:使用 JavaScript 从公共 Facebook 页面查询页面所有者的最新帖子,并将其解析为在我自己的 HTML 中显示(不能使用社交插件- 我需要对 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 将在 2 个月内到期。为什么?这是一个公开的Facebook页面,我只想查询页面所有者的最新评论。我真的需要创建一个 Facebook 应用程序并通过 PHP 登录才能访问这些公共信息吗?

我正在用 Twitter 提要做同样的事情,我所要做的就是 $.getJSON http://api.twitter.com/1/statuses/user_timeline/.json,完全在 JavaScript 中。

从 Facebook 获取类似信息似乎要困难得多,但也许我用错了方法?

4

1 回答 1

1

这确实有效,但是,访问令牌调试器说我的 access_token 将在 2 个月内到期。为什么?

因为这就是用户访问令牌的作用。

我真的需要创建一个 Facebook 应用程序并通过 PHP 登录才能访问这些公共信息吗?

对于以任何方式受到限制的页面(基于年龄、国家或与酒精相关的内容),您必须使用用户访问令牌,因为这是 Facebook 可以确定您是否真正被允许查看内容的唯一方法.

如果它是您自己的页面,那么您可以生成一个页面访问令牌——如果您使用长期存在的用户访问令牌来获取它们,那么这些令牌默认不会过期。

但是您不想在客户端 JavaScript 中公开这种令牌,因为访问您网站的每个人都可以从那里窃取它并代表您的页面采取行动。

于 2013-03-22T15:02:03.367 回答