Facebook应用程序不适用于新用户

时间:2013-08-18 03:26:37

标签: node.js facebook-apps facebook-node-sdk

我在节点js中开发了一个facebook应用程序,它在heroku上托管。它将显示一些用户的公共数据。它工作正常两天,但从第二天起它显示新用户的应用程序错误,但对于已经使用该应用程序的用户它工作正常。我无法理解问题所在,如果我使用“foreman start”或“node web.js”在本地运行它我只会为新用户收到“此网页有重定向循环”消息。我已经尝试删除所有饼干和网页数据,即便如此,我得到了相同的消息。 我正在使用“facebook-node-sdk”进行facebook连接,使用“ejs”进行网页显示并为服务器表达。

App looks like this for old users

The app is hosted here

我在日志中也找不到任何东西。 任何人都可以帮我解决这个问题。

应用代码:

var express = require('express');
var Facebook = require('facebook-node-sdk');
var app = express.createServer();
var pic;
var cover;
app.configure(function () {
  app.use(express.bodyParser());
  app.use(express.cookieParser());
  app.use(express.session({ secret: 'password' }));
  app.use(Facebook.middleware({appId:'12345',secret:'12345'}));
});
app.set('view options', { layout: false });
app.set('view engine', 'ejs');
app.get('/', Facebook.loginRequired(), function (req, res) {
        req.facebook.api('/me?fields=picture.type(square)', function(err, pict) {
            pic=pict.picture.data.url;
        });
    req.facebook.api('/me?fields=cover',function(err,cover_pg){
        cover=cover_pg.cover.source;
        });
    req.facebook.api('/me', function(err, user) {
            res.render('home', {locals: {
        title:'Public-Profile', 
        user:user.name , 
            id:user.id, 
        gender:user.gender,
        hometown:user.hometown.name, 
        current:user.location.name,
        link:user.link,
        pic:pic,
        cover:cover
        }
        });
    });
}); 
var port = process.env.PORT || 5000;
app.listen(port, function() {
  console.log("Listening on " + port);
});

ejs文件代码:

<html>
<head>
<title><%= title %></title>
</head>
<body>
<h3>This app is ment to show all your facebook public profile</h3>
<h3>Welcome:</h3>
<h3><img src=<%= pic %>> <%= user %>   </h3> 
<a href=<%= cover %> target="_blank"><img src=<%= cover %> height="200"></a>
<h3>Your Facebook Id:<%= id %></h3>
<h3>Gender:<%= gender %></h3>
<h3>Your home-town:<%= hometown %></h3>
<h3>Your Current-Location:<%= current %></h3>
<a href=<%= link %> target="_blank"><h2>Visit Your Profile</h2></a>
<br/><br/><br/><br/><br/><br/><br/><br/>
<p>--By Dinesh</p>
<p>This app is still under development it will be ready soon...</p>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

这里我们有很多选项来配置facebook身份验证。

使用Passport.js

http://passportjs.org/

希望这会有效..