【问题标题】:Facebook app not working for new usersFacebook 应用程序不适用于新用户
【发布时间】:2013-08-18 03:26:36
【问题描述】:

我在节点 js 中开发了一个 facebook 应用程序,它托管在 heroku 上。它将显示一些用户的公共数据。它工作了两天,但从第二天开始,它显示新用户的应用程序错误,但对于已经使用该应用程序的用户来说,它工作正常。我不明白如果我使用“foreman start”或“node web.js”在本地运行它,问题出在哪里,我会收到“这个网页有一个重定向循环”消息,只针对新用户。我已经通过删除所有cookie 和网页数据即使在那时我也收到了同样的信息。 我使用“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>

【问题讨论】:

  • 我想你已经把它搁置了,因为你没有找到代码,所以我添加了代码。如果它符合问题的描述,请告诉我,我会提供所需的详细信息。

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


【解决方案1】:

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

使用 Passsport.js

http://passportjs.org/

希望这会奏效..

【讨论】:

    猜你喜欢
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多