Social media influence

node v6.17.1
version: 3.0.0
endpointsharetweet
// const $ = require("nodeQuery"); // const ajax = require("ajax-request"); var fetch = require("node-fetch"); // Using require() in ES2015 var { FB } = require('fb'); //Function to add K to thousands function kFormatter(num) { return num > 999 ? (num/1000).toFixed(1) + 'k' : num; } var settings = { //Get Access Tokens,keys,client_ids instagram_token: process.env.instagram_token, facebook_token: process.env.facebook_token, youtube_key: process.env.youtube_token, }; function facebook(userId){ return new Promise((resolve, reject) => { fetch(`https://graph.facebook.com/v2.8/${userId}?access_token=${settings.facebook_token}&fields=fan_count`) .then(function(res) { return res.json(); }) .then(function(json) { var followers = parseInt(json.fan_count); resolve(followers) }) .catch(e => reject(e)); }) } function instagram(username){ return new Promise((resolve, reject) => { fetch('https://www.instagram.com/' + username + '?__a=1') .then(function(res) { return res.json(); }) .then(function(json) { const followers = parseInt(json.user.followed_by.count); resolve(followers); }) .catch(e => reject(e)); }); } function youtube(username){ return new Promise((resolve, reject) => { fetch(`https://www.googleapis.com/youtube/v3/channels?part=statistics&id=${username}&key=${settings.youtube_key}`) .then(function(res) { return res.json(); }) .then(function(json) { var subscribers = parseInt(json.items[0].statistics.subscriberCount); resolve(subscribers); }) .catch(e => reject(e)); }); } function twitter(username){ return new Promise((resolve, reject) => { fetch(`https://cdn.syndication.twimg.com/widgets/followbutton/info.json?screen_names=${username}`) .then(function(res) { return res.json(); }) .then(function(json) { var subscribers = parseInt(json[0].followers_count); resolve(subscribers); }) .catch(e => reject(e)); }); } // const dummy = { // facebook_user: '80655071208', // instagram_user: 'rajinwonderland', // youtube_user: 'destinws2', // twitter_user: 'rajinwonderland' // } // if(settings.facebook_user!='' && settings.facebook_token!=''){ // facebook(dummy.facebook_user); // } // if(settings.instagram_user!='' && settings.instagram_token!=''){ // instagram(dummy.instagram_user); // } // if(settings.youtube_user!='' && settings.youtube_key!=''){ // youtube(dummy.youtube_user); // } // if(settings.twitter_user!=''){ // twitter(dummy.twitter_user); // } var express = require("@runkit/runkit/express-endpoint/1.0.0"); var app = express(exports); // example userID: 80655071208 app.get("/facebook/:userId", (req, res, next) => { facebook(req.params.userId) .then((result) => res.send(200, result)) .catch(e => res.send(next(e))); }); // example userID: envato app.get("/instagram/:userId", (req, res, next) => { instagram(req.params.userId) .then((result) => res.send(200, result)) .catch(e => res.send(next(e))); }); // example userID: UCsooa4yRKGN_zEE8iknghZA app.get("/youtube/:userId", (req, res, next) => { youtube(req.params.userId) .then((result) => res.send(200, result)) .catch(e => res.send(next(e))); }); // example userID: envato app.get("/twitter/:userId", (req, res, next) => { twitter(req.params.userId) .then((result) => res.send(200, result)) .catch(e => res.send(next(e))); });
Loading…

no comments

    sign in to comment