Created
July 1, 2017 22:39
-
-
Save conanak99/8796a41f3f566ce735263af0511ce9d4 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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