带有Node JS和Sails JS的Facebook Graph API

时间:2015-06-03 02:44:04

标签: node.js facebook api facebook-graph-api sails.js

正如我在之前的帖子中所说,我正在学习如何使用Node JS&帆JS。现在我正在尝试将facebook的图形API集成到我的Web应用程序中。我搜索并浏览了Facebook的开发者网站,但不知何故,我仍然很难理解我应该做些什么。我已经在facebook上有一个应用程序,所以我已经拥有应用程序ID等等。

现在,我已经在我的login.ejs视图

下面有一个facebook登录按钮
 <fb:login-button autologoutlink="true" onlogin="OnRequestPermission();">
 </fb:login-button>

在我的layout.ejs

中加载的facebook javascript sdk
<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId      : 'myAPPID',
      xfbml      : true,
      version    : 'v2.3',
      status     : true
    });
  };

  (function(d, s, id){
     var js, fjs = d.getElementsByTagName(s)[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement(s); js.id = id;
     js.src = "//connect.facebook.net/en_US/sdk.js";
     fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));
</script>

问题是,我将如何获得用户访问令牌以及存储它的最佳方式是什么?我如何才能在控制器中使用图形API?我应该安装节点模块还是自己创建?除了图形api之外,使用API​​的最佳方法是什么,例如twitter的api,以及node&amp;扬帆?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以通过注册要在Facebook JAvaScript SDK的auth.login事件上执行的回调方法来获取访问令牌。这是[此处]记录的。(https://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/v2.3

但实际上,如果您使用的是JavaScript SDK,则无需处理甚至存储访问令牌。你可以打电话,例如FB.api(path, method, params, callback)发出图谱API请求,这将确保访问令牌作为请求的一部分发送。