Facebook アクセス トークンを要求し、ログイン ユーザーの「投稿」データを取得する単純な Web アプリを開発しています。
「ログイン」をクリックした後、FB.api を呼び出してユーザーの投稿を取得し、javascript で innerHTML を使用してユーザー ステータスを更新します。
<div id="fb-root"></div>
<div id="user-info"></div>
<div id="user-email"></div>
<div id="user-status" name="post"></div>
<button id="fb-auth">Login</button>
私の目標は、これらの更新されたデータを mongodb に保持することです。
私が試したのは、投稿が取得されたときにフォームを強制的に送信し、「name="post"」でデータを渡すことですが、これによりページが再度更新され、値が未定義と表示されます。
Javascript:
FB.api('/me/posts', { limit: 100 }, function(response) {
var userStatus = document.getElementById('user-status');
for (var i=0, l=response.data.length; i<l; i++) {
var post = response.data[i];
if (post.message) {
userStatus.innerHTML = userStatus.innerHTML + ' ' + post.message ;
var form = document.createElement('form');
form.setAttribute('method', 'post');
form.style.display = 'hidden';
document.body.appendChild(form);
form.submit();
} else if (post.attachment && post.attachment.name) {
alert('Attachment: ' + post.attachment.name);
}
}
});
app.js(req.param('post') は定義されていないため、mongodb は未定義のデータを挿入します):
app.post('/', function(req, res){
postProvider.save({
posts: req.param('post')
}, function(error, docs){
res.redirect('/')
});
});
どんなアドバイスでも大歓迎です。お時間をいただきありがとうございます。