带有 Node JS 和 Sails JS 的 Facebook Graph API
Posted
技术标签:
【中文标题】带有 Node JS 和 Sails JS 的 Facebook Graph API【英文标题】:Facebook Graph API with Node JS and Sails JS 【发布时间】:2015-06-03 02:44:03 【问题描述】:正如我在之前的帖子中所说,我正在学习如何使用 Node JS 和 Sails 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)的最佳方法是什么?
谢谢!
【问题讨论】:
【参考方案1】:您可以通过注册要在 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)
发出 Graph API 请求,这将确保访问令牌作为请求的一部分发送。
【讨论】:
以上是关于带有 Node JS 和 Sails JS 的 Facebook Graph API的主要内容,如果未能解决你的问题,请参考以下文章
带有sails.js 和sails-postgresql 的数据库模式