我正在使用nodejs和mongodb构建一个站点,并使用facebook进行身份验证。 我的用户需要上传某些照片,其他人才能查看。
由于我使用的是Facebook,我想知道是否应该允许用户将他们的照片上传到他们的Facebook个人资料中,并将链接保存到数据库中,以便以后其他用户可以查看此
这是正确的做法吗? 或者我应该使用flickr或picasa还是别的什么?
我必须在javascript中这样做,我知道facebook支持这个。
请让我知道你的想法。
编辑:
您好,
最后,我发现模块 connect-form 将文件上传到服务器,然后使用模块 facebook-js 将文件上传到Facebook。 我发现“/ me / feed”的fb.api在node.js服务器中运行良好。 但是当我尝试使用http://developers.facebook.com/docs/reference/api/album/中提到的“/ me / photos”图形api时,我收到了错误。那是因为它期望源是“multipart / form-data”。 在我的HTML中,它已经是“multipart / form-data”,否则我不会 获取服务器端的文件。 但是,在服务器端,我不太清楚如何嵌入 这在FB.api中......应该是FB.api中的“source”参数“/ me / 照片“?我尝试使用”source:files.source“,如我所述 例。但它不起作用。可能是我很遗憾 傻......
app.post('/', function(req, res, next){
req.form.complete(function(err, fields, files){
if (err) {
next(err);
} else {
fb.apiCall('POST', '/me/photos',
{access_token: fields.access_token, message: fields.message, source:files.source},
function (error, response, body) {
if (error) {
console.log('Error in facebook Photo UPLOAD', error);
return;
}
console.log('facebook RESPONSE :', response);
console.log('facebook BODY :', body);
res.redirect('back');
//res.render('done', {body: body});
}
);
}
});
答案 0 :(得分:0)
您可以选择使用网址将照片上传到Facebook,请阅读以下文章:
https://developers.facebook.com/blog/post/526/
我建议将某些CDN用于像Amazon S3这样非常可靠和可扩展的照片。然后你可以通过一个简单的API调用在Facebook上选择它(在这种情况下不要忘记上传照片的扩展权限)
希望这会有所帮助