Downloading Instagram Photos to your Google Drive using Google Apps Script
Sometimes, we would like to download the photos from Instagram to our Google Drive with specific tags of interest and make a backup of those photos.
In this tutorial, I'll tell you how you can use Google Apps Script to fetch photos to your Google Drive.
Register a client first and get the client ID which will be used with Instagram API endpoint.
Once you have got the client Id, Copy and paste below code in a new Google Apps Script File. Change the TAG_NAME to your favorite #tag, also change the CLIENT_ID
function fetchInstagram() {
//Choose your favourite tag
var TAG_NAME = 'ruralindia';
//Your client Id which you got by registering your client for Instagram API
var CLIENT_ID = 'abcdef123456789';
//Endpoint url to fetch photos information,
//note that we have used TAG_NAME and CLIENT_ID with the endpoint URL
var url = 'https://api.instagram.com/v1/tags/'+TAG_NAME+'/media/recent?client_id='+CLIENT_ID;
//when there is a url to fetch photo details, fetch the details from API
while(url){
//let us fetch the details from API. This will give you the details of photos and URL
var response = UrlFetchApp.fetch(url).getContentText();
//pase the JSON string data to JSON
var responseObj = JSON.parse(response);
//get photo data
var photoData = responseObj.data;
//iterate over this data
for(var i in photoData){
var imageUrl = photoData[i].images.standard_resolution.url;
fetchImageToDrive_(imageUrl);
}
//Get the url of the next page
url = responseObj.pagination.next_url;
}
}
function fetchImageToDrive_(imageUrl){
//Fetch image blob
var imageBlob = UrlFetchApp.fetch(imageUrl).getBlob();
//Create image file in drive
var image = DriveApp.createFile(imageBlob);
//return the URL of the newly created image in drive
return image.getUrl();
}
Note : If the number of photos are large, the script may time out as it will try to download all the photos in single run. To overcome this, operation can be broken as pages and state of the program can be saved either as script property or as an object in ScriptDb, so that on the next run, script will continue fetching photos where it left.
References :
Keywrords : Instagram Photos in Google Drive, Backup Instagram photo in Google Drive, Google Apps Script with Instagram API, Google Apps Script UrlFetch to fetch photos/files, Instagram hash tag API and Google Apps Script