How to get Twitter follower count for more than 100 usernames in Google Sheets?

Viewed 1234

I don't know my JavaScript. So I am using someone else's:

var CONSUMER_KEY = 'xxxx'; // Register your app with Twitter.
var CONSUMER_SECRET = 'xxxx'; // Register your app with Twitter.

function getTwitterUserFollowers(id) {
    // Encode consumer key and secret
    var tokenUrl = "https://api.twitter.com/oauth2/token";
    var tokenCredential = Utilities.base64EncodeWebSafe(
        CONSUMER_KEY + ":" + CONSUMER_SECRET);

    //  Obtain a bearer token with HTTP POST request
    var tokenOptions = {
        headers: {
            Authorization: "Basic " + tokenCredential,
            "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8" 
        },
        method: "post",
        payload: "grant_type=client_credentials"
    };

    var responseToken = UrlFetchApp.fetch(tokenUrl, tokenOptions);
    var parsedToken = JSON.parse(responseToken);
    var token = parsedToken.access_token;

    // Authenticate Twitter API requests with the bearer token
    var apiUrl = 'https://api.twitter.com/1.1/users/show.json?screen_name='+id;
    var apiOptions = {
        headers: {
            Authorization: 'Bearer ' + token
        },
        "method": "get"
    };

    var responseApi = UrlFetchApp.fetch(apiUrl, apiOptions);

    var result = "";

    if (responseApi.getResponseCode() == 200) {
        // Parse the JSON encoded Twitter API response
        var tweets = JSON.parse(responseApi.getContentText());
        return tweets.followers_count
    }

    Logger.log(result);
}

source: http://sarahmarshall.io/post/70812214349/how-to-add-twitter-follower-counts-to-a-google

Sarah Marshall provides a pretty awesome how-to on using a Google Sheets script with the Twitter API to get follower counts for a list of Twitter user names. But it times out after about 100 user names:

Service invoked too many times for one day: urlfetch. (line 21, file "Code")

I'm wondering how I can get around the rate limit, or account for it, and return follower counts for more than 100 user names. Any ideas?

1 Answers
Related