无法使用 fb graph api 和 nodejs 从 facebook 相册中获取所有图像?
Can't get all images from facebook album using fb graph api with nodejs?
我正在学习nodejs。
我试图从移动上传相册下载我所有的照片。
我为图形 api 使用了 'fb' npm 模块。我只有 25 张照片,但在我的相册中有 300 多张照片。
如何获取所有照片?
var _ = require('underscore');
var request = require('request');
var FB = require('fb');
var fs = require('fs');
var my_token = "xyz";
FB.setAccessToken(mt_token);
var urls = [];
FB.api('/me/albums','get', function (res) {
if(!res || res.error) {
console.log(!res ? 'error occurred' : res.error);
return;
}
var data = _.findWhere(res.data, {name:"Mobile Uploads"});
FB.api('/'+data.id+'/photos', 'get', (resp) => {
if(!resp || resp.error) {
console.log(!resp ? 'error occurred' : resp.error);
return;
}
resp.data.forEach(function(element) {
urls.push(element.source);
});
for(var i = 0;i<urls.length;i++){
request(urls[i]).pipe(fs.createWriteStream('img/'+i+'.jpg'));
console.log("Downloaded : "+i+'.jpg');
}
});
});
谢谢
终于使用 request
模块 facebook api 对我不起作用
function downloadLoop(urls) {
for(i;i<urls.length;i++){
request(urls[i]).pipe(fs.createWriteStream('img/'+(i+1)+'.jpg')).on('finish', function(response) {
console.log("Download Completed : "+(++j)+'/'+i);
});
}
}
function download(next) {
request({
url: next,
json: true
}, function(err, res, body) {
if(err) throw err;
for (var i = 0; i < body.data.length; i++) {
urls.push(body.data[i].images[0].source);
}
console.log("getting images... Total Image : "+ urls.length);
if(body.paging && body.paging.next) {
download(body.paging.next);
} else {
console.log("Completed");
}
downloadLoop(urls);
});
}
我正在学习nodejs。 我试图从移动上传相册下载我所有的照片。 我为图形 api 使用了 'fb' npm 模块。我只有 25 张照片,但在我的相册中有 300 多张照片。 如何获取所有照片?
var _ = require('underscore');
var request = require('request');
var FB = require('fb');
var fs = require('fs');
var my_token = "xyz";
FB.setAccessToken(mt_token);
var urls = [];
FB.api('/me/albums','get', function (res) {
if(!res || res.error) {
console.log(!res ? 'error occurred' : res.error);
return;
}
var data = _.findWhere(res.data, {name:"Mobile Uploads"});
FB.api('/'+data.id+'/photos', 'get', (resp) => {
if(!resp || resp.error) {
console.log(!resp ? 'error occurred' : resp.error);
return;
}
resp.data.forEach(function(element) {
urls.push(element.source);
});
for(var i = 0;i<urls.length;i++){
request(urls[i]).pipe(fs.createWriteStream('img/'+i+'.jpg'));
console.log("Downloaded : "+i+'.jpg');
}
});
});
终于使用 request
模块 facebook api 对我不起作用
function downloadLoop(urls) {
for(i;i<urls.length;i++){
request(urls[i]).pipe(fs.createWriteStream('img/'+(i+1)+'.jpg')).on('finish', function(response) {
console.log("Download Completed : "+(++j)+'/'+i);
});
}
}
function download(next) {
request({
url: next,
json: true
}, function(err, res, body) {
if(err) throw err;
for (var i = 0; i < body.data.length; i++) {
urls.push(body.data[i].images[0].source);
}
console.log("getting images... Total Image : "+ urls.length);
if(body.paging && body.paging.next) {
download(body.paging.next);
} else {
console.log("Completed");
}
downloadLoop(urls);
});
}