Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function queryOpenData(){
- var myAPIkey = "xxxxx";
- var sheet = SpreadsheetApp.getActiveSheet();
- sheet.getRange(1,1).setValue("Date");
- sheet.getRange(1,2).setValue("Dataset");
- sheet.getRange(1,3).setValue("API calls");
- sheet.getRange(1,4).setValue("Downloads");
- var datasets = [];
- // Get the list of datasets
- var datasetsQuery = JSON.parse(UrlFetchApp.fetch("https://opendata.city.gov/api/v2/catalog/exports/json?rows=-1&apikey="+myAPIkey));
- // Create a list of dataset IDs
- for(var i=0; i<datasetsQuery.length; i++){
- var thisEntry = datasetsQuery[i];
- datasets.push(thisEntry.dataset_id);
- }
- // Quick test
- // var datasetsLite = [datasets[0],datasets[1],datasets[2]];
- // Walk through the dataset IDs array
- // Extract the data we're after: downloads and API calls
- for(var d=0;d<datasets.length;d++){
- // for(var d=0;d<datasetsLite.length;d++){ // for testing
- var response = JSON.parse(UrlFetchApp.fetch("https://opendata.city.gov/api/v2/catalog/datasets/"+datasets[d]+"/?apikey="+myAPIkey+"&include_app_metas=true"));
- var count_api = response.dataset.metas.explore.api_call_count;
- var count_dl = response.dataset.metas.explore.download_count;
- // Logger.log(response);
- // sheet.getRange(sheet.getLastRow() + 1,1).setValue([fact]);
- sheet.getRange(sheet.getLastRow() + 1,1).setValue([Utilities.formatDate(new Date(), "-08", "MMM dd, yyyy")]);
- sheet.getRange(sheet.getLastRow() + 0,2).setValue([datasets[d]]);
- sheet.getRange(sheet.getLastRow() + 0,3).setValue([count_api]);
- sheet.getRange(sheet.getLastRow() + 0,4).setValue([count_dl]);
- }
- }
- function onOpen() {
- var ui = SpreadsheetApp.getUi();
- ui.createMenu('OpenData')
- .addItem('Update download and API counts','queryOpenData')
- .addToUi();
- }
Add Comment
Please, Sign In to add comment