facebook-node-sdk for node.js scope parameter?

facebook-node-sdk for node.js scope parameter?

本文关键字:parameter scope js for node facebook-node-sdk      更新时间:2023-09-26

https://github.com/amachang/facebook-node-sdk决定使用此模块为 Node 构建我的 Facebook 集成登录.js按照 Express 的示例:

var express = require('express');

var Facebook = require('facebook-node-sdk');

var app = express.createServer();
app.configure(function () {
  app.use(express.bodyParser());
  app.use(express.cookieParser());
  app.use(express.session({ secret: 'foo bar' }));
  app.use(Facebook.middleware({ appId: 'YOUR_APP_ID', secret: 'YOUR_APP_SECRET' }));
});
app.get('/', Facebook.loginRequired(), function (req, res) {
  req.facebook.api('/me', function(err, user) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello, ' + user.name + '!');
  });
});

如何添加"电子邮件"等其他权限?

看看 Facebook Node SDK 中的 getLoginUrl 方法。您可以在此处提供scope参数来指定email权限。有关可用权限的列表,请参阅权限。

app.get('/', Facebook.loginRequired({scope: 'email'}), function (req, res) {
      /*-----*/
});

嗯 您不需要编辑此文件:)您所要做的就是将范围添加到您的配置中,如下所示:

app.use(Facebook.middleware({ appId: 'YOUR_APP_ID', secret: 'YOUR_APP_SECRET', scope 'YOUR_SCOPE' }))

然后将此配置传递给 getLoginUrl 函数