Skip to content

Instantly share code, notes, and snippets.

@conanak99
Created July 1, 2017 22:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save conanak99/8796a41f3f566ce735263af0511ce9d4 to your computer and use it in GitHub Desktop.
Save conanak99/8796a41f3f566ce735263af0511ce9d4 to your computer and use it in GitHub Desktop.
let request = require('request');
exports.handler = (event, context, callback) => {
let token = 'YOUR_TOKEN_HERE';
// Lấy ID của 1 fanpage bình thường và sexy
let sexyPageId = getPageId(true);
let normalPageId = getPageId(false);
// Load ngẫu nhiên 15 ảnh bình 5 ảnh sexy
let promise = Promise.all([
getRandomImage(token, normalPageId, 15, 450),
getRandomImage(token, sexyPageId, 5, 500)
]);
// Trả kết quả về dưới dạng JSON
promise.then(result => {
let response = {
normal: result[0],
sexy: result[1]
}
callback(null, {
statusCode: 200,
body: JSON.stringify(response),
headers: {
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*'
}
});
});
}
function getPageId(isSexy) {
var normal = [189695764410814, 429347487112306, 1269826469732326, 323925094473196];
var sexy = [1786207988368795, 637445302949772, 1224869587565040, 169974406437267];
if (isSexy) {
return getRandomElement(sexy);
} else {
return getRandomElement(normal);
}
}
function getRandomElement(array) {
let randomIndex = Math.floor((Math.random() * array.length));
return array[randomIndex];
}
// Dùng API của Facebook để lấy ngẫu nhiên một số ảnh trên các page
function getRandomImage(token, pageId, limit, maxIndex) {
var randomIndex = Math.floor((Math.random() * (maxIndex - limit)));
return new Promise((resolve, reject) => {
request({
url: `https://graph.facebook.com/v2.9/${pageId}/photos/`,
qs: {
fields: "images",
limit: limit,
offset: randomIndex,
access_token: token
},
method: "GET"
}, (err, response, body) => {
if (err) {
reject(err);
return;
}
var rs = JSON.parse(body);
var imageUrls = rs.data.map(data => data.images[0].source);
//var imageUrl = rs.data[0].images[0].source;
resolve(imageUrls);
});
});
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment