Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function onOpen() {
- var ui = SpreadsheetApp.getUi();
- ui.createMenu('Load Managebac data')
- .addItem('Import All Students','ImportStudents')
- .addItem('Import All Parents','ImportParents')
- .addItem('Import students by a specific Grade','test')
- .addToUi();
- }
- function getHeaderOpt()
- {
- var headers = {
- "auth-token": '######',
- "Content-Type": 'application/json'
- }
- var options = {
- "method" : "GET",
- "headers": headers
- }
- return options
- }
- function ImportStudents()
- {
- var output = []
- var page = 1;
- var ss = SpreadsheetApp.getActiveSheet();
- var setActive = SpreadsheetApp.setActiveSheet(ss.getSheetByName('Student'));
- var sheet = ss.getActiveSheet();
- while(true) {
- var url = "https://api.managebac.com/v2/#####/?page=" + page++;
- var response = UrlFetchApp.fetch(url, getHeaderOpt())
- var result = JSON.parse(response.getContentText())
- var students = result["students"]
- //if result page is empty exit loop.
- if (students.length == 0)
- break
- students.forEach(function(elem,i)
- {
- if(elem["archived"] == false)
- {
- output.push([elem["id"],elem["first_name"],elem["last_name"],elem["class_grade"],elem["email"],elem["graduating_year"],elem["program"],elem["archived"]])
- }
- })
- }//end of while loop
- // clear any previous content
- sheet.getRange(2,1,output.length,8).clearContent();
- sheet.getRange(2,1,output.length,8).setValues(output);
- }
- function ImportParents()
- {
- var output = []
- var page = 1;
- var ss = SpreadsheetApp.getActiveSpreadsheet();
- var sheet = ss.getActiveSheet();
- //reseting page back to 1 else it will not fetch others
- while(true) {
- var url = "https://api.managebac.com/v2/######/?page=" + page++;
- var response = UrlFetchApp.fetch(url, getHeaderOpt())
- var result = JSON.parse(response.getContentText())
- var parents = result["parents"]
- //if result page is empty exit loop.
- if (parents.length == 0)
- break
- parents.forEach(function(elem,i)
- {
- if(elem["archived"] == false)
- {
- output.push([elem["id"],elem["first_name"],elem["last_name"],elem["email"],elem["child_ids"]])
- }
- })
- }//end of while loop
- Logger.log(output);
- // section to create sheets
- try
- {
- var create = ss.insertSheet("Parents");
- }
- catch(exception)
- {
- }
- var setNewActive = SpreadsheetApp.setActiveSheet(ss.getSheetByName("Parents"))
- sheet = ss.getActiveSheet();
- sheet.getRange(2,1,output.length,5).setValues(output);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement