Skip to content

Instantly share code, notes, and snippets.

@lkLeonov
Created July 28, 2016 17:52

Revisions

  1. lkLeonov created this gist Jul 28, 2016.
    26 changes: 26 additions & 0 deletions instaGet
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,26 @@
    function getMedia(instaData, mediaCount, callback) {
    var profileData = instaData.entry_data.ProfilePage[0];
    var userID = profileData.user.id;
    var totalMedia = profileData.user.media.count;
    var mediaCount = mediaCount > totalMedia ? totalMedia : mediaCount;
    var csrf_token = instaData.config.csrf_token;
    var xhrBody = "ig_user(" + userID + ") { media.after(0, " + mediaCount + ") {nodes {display_src }}}";

    var xhr = new XMLHttpRequest();
    xhr.open("POST", '/query/', true)
    xhr.setRequestHeader("X-CSRFToken", csrf_token);
    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

    xhr.onreadystatechange = function() {
    if (this.readyState != 4) return;
    callback(this.responseText);
    }

    xhr.send("q=" + encodeURIComponent(xhrBody));
    }


    // I want 20 instagram posts from this user
    getMedia(window._sharedData, 20, function(data){
    console.log(JSON.parse(data));
    });