facebook integration in node.js
const request = require('request-promise');
module.exports = (app) => {
// you'll need to have requested 'user_about_me' permissions
// in order to get 'quotes' and 'about' fields from search
const userFieldSet = 'name, link, is_verified, picture';
const pageFieldSet = 'name, category, link, picture, is_verified';
app.post('/facebook-search', (req, res) => {
const { queryTerm, searchType } = req.body;
const options = {
method: 'GET',
uri: 'https://graph.facebook.com/search',
qs: {
access_token: config.user_access_token,
q: queryTerm,
type: searchType,
fields: searchType === 'page' ? pageFieldSet : userFieldSet
}
};
request(options)
.then(fbRes => {
// Search results are in the data property of the response.
// There is another property that allows for pagination of results.
// Pagination will not be covered in this post,
// so we only need the data property of the parsed response.
const parsedRes = JSON.parse(fbRes).data;
res.json(parsedRes);
})
});
}