Разработих приложение за facebook в node js, което се хоства на heroku. Ще покаже някои от публичните данни на потребителите. Работи добре два дни, но от следващия ден показва грешка в приложението за нови потребители, но за потребителите, които вече са използвали приложението, работи добре. Не можах да разбера къде се крие проблемът, ако го стартирам локално с помощта на "foreman start" или "node web.js" Получавам съобщение "тази уеб страница има цикъл за пренасочване" само за нови потребители. Опитах го, като изтрих всички бисквитки и данни за уеб страници също дори тогава получих същото съобщение. Използвам "facebook-node-sdk" за свързване с Facebook и "ejs" за показване на уеб страницата и експрес за сървър.
Приложението изглежда така за стари потребители
Не можах да намеря нищо и в регистрационните файлове. Може ли някой да ми помогне при решаването на този проблем.
Кодът на приложението:
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>