javascript - 使用 Facebook Javascript SDK 获取图表数据

标签 javascript facebook sdk facebook-graph-api access-token

现已修复!但我还不能回答我自己的问题。请参阅下面的评论。并感谢您的帮助。


我已经搜索和搜索并阅读了文档,但仍然无法弄清楚。

我有一个关于事件的网页。我的事件还有一个公开的 Facebook“事件”。我正在尝试使用 FB Javascript SDK 获取 Facebook 事件的参加人数,并将其添加到通过网站注册的人数中。

我已经创建了一个应用程序并且我有一个 appID 和 secret 字符串。我可以从以下位置获取访问 token :

https://graph.facebook.com/oauth/access_token?client_id=XXXX&client_secret=XXXXX&grant_type=client_credentials

然后我可以使用该访问 token 来获取公共(public)事件的参与者:

https://graph.facebook.com/331218348435/attending?access_token=XXXXXXXXX

没关系。

我现在正尝试使用 Javascript SDK 做同样的事情。

我已经加载了 SDK 并完成了初始化:

FB.init({
  appId  : 'XXXXXXXX',
  status : true, // check login status
  cookie : true, // enable cookies to allow the server to access the session
  xfbml  : true  // parse XFBML
});

而且我知道 SDK 正在运行,因为我可以获得一个包含不需要访问 token 的数据的对象:

FB.api( '/331218348435', function (response) { console.log ( response ) } );

但是当我尝试获取需要访问 token 的与会者数据时:

FB.api( '/331218348435/attending', function (response) { console.log ( response ) } );

我收到 OAuthException:“请求此资源需要访问 token 。”

我能找到的所有教程和信息都是指使用 .login 方法,但我不希望用户登录,我想使用我的应用程序 ID 登录,无需任何用户交互。

当我调用 .init 方法时,我假设 API 接受了 SDK 的初始化请求并授予我一个访问 token ,身份验证是针对我的网站地址(HTTP 引荐来源网址 - 是的,我已将我的网站 URL 设置为Facebook 应用设置)。

有什么想法可能导致它不起作用吗?如何在不执行 .login 的情况下使用 Javascript SDK 获取访问 token ?我错过了一步吗?这可能吗?

谢谢

最佳答案

根据相当循环的文档所说,获取参与提要需要“通用访问 token ”。在 Facebook 方面:

Any valid access_token Any valid access token returned by our APIs. An access token may not be valid if, for example, it has expired. No special permissions are required. Occasionally, this is referred to as a generic access_token.

因此,这意味着只要事件是公开的,您就可以使用任何您喜欢的 token 来访问参与的提要。最容易获得的访问 token 似乎是应用程序 token :http://developers.facebook.com/docs/authentication/#applogin .您只需使用您的 App ID 和 Secret 即可获取此 token ,无需用户交互。

汇总链接内容:您可以通过向以下地址发送 GET 请求来获取应用程序访问 token

https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET&grant_type=client_credentials 

然后您可以使用该 access_token 为您的出席名单打电话

FB.api('MyEvent/attending?access_token=ACCESS_TOKEN');

关于javascript - 使用 Facebook Javascript SDK 获取图表数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6627800/

相关文章:

android - Facebook Android SDK & java.lang.NullPointerException

Java - 将目录添加到 PATH?

java - 使用android sdk的默认jdk用于其他目的

javascript - Object.assign 嵌套属性

单击按钮时打开弹出窗口的Javascript代码?

php - 通过 PHP 在 FTP 服务器上检查没有扩展名的文件的文件大小?

objective-c - 从应用程序委托(delegate)中关闭模态视图 Controller

javascript - 从点击事件的所有类获取文本

android - 无效的 OAUTH 访问 token ,当使用应用程序访问 token 时,Android

java - Java SDK for REST API服务上的错误处理