75 lines
2.5 KiB
JavaScript
75 lines
2.5 KiB
JavaScript
const apiKey = '8ALsk8jDOlynEwn8ScMBSnG87';
|
|
|
|
function main() {
|
|
var folder = DriveApp.getFolderById("15p4vXVQd6hhcMl73VOxD8VctL2gR-q43")
|
|
var files = folder.getFiles()
|
|
while (files.hasNext()) {
|
|
var file = files.next();
|
|
var getDate = new Date();
|
|
var date = Utilities.formatDate(getDate, 'America/New_York', 'MM/dd/yyyy');
|
|
var fileDate = file.getLastUpdated();
|
|
var fileDateFormatted = Utilities.formatDate(fileDate, 'America/New_York', 'MM/dd/yyyy');
|
|
if (date == fileDateFormatted) {
|
|
var updated_file = file.getBlob();
|
|
var updated_blob = updated_file.getDataAsString();
|
|
var updated_data = Utilities.parseCsv(updated_blob, ',');
|
|
}
|
|
}
|
|
//quickParse(updated_data);
|
|
writeDataToSheet(updated_data);
|
|
}
|
|
|
|
//Inserts a new sheet and writes a 2D array of data in it
|
|
function writeDataToSheet(updated_data) {
|
|
var ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/1Kck1UUOkVIU4kbBC8b_bl77fNaCTSFStiv0I5Gg-kIc/');
|
|
sheet = ss.insertSheet();
|
|
sheet.getRange(1, 1, updated_data.length, updated_data[0].length).setValues(updated_data);
|
|
Logger.log(sheet.getName());
|
|
}
|
|
|
|
|
|
function quickParse(updated_data) {
|
|
for (var x = 1; x < updated_data.length; x++) {
|
|
var array = updated_data[x];
|
|
for (var i = 1; i < array.length; i++) {
|
|
var item = array[i]
|
|
if (item != "") {
|
|
var api_url = 'https://api.northpass.com/v2/groups/?filter[name][eq]='+encodeURIComponent(item);
|
|
Logger.log(api_url)
|
|
const settings = {
|
|
async: true,
|
|
crossDomain: true,
|
|
method: 'GET',
|
|
headers: {
|
|
accept: 'application/json',
|
|
'X-Api-Key': apiKey
|
|
}
|
|
};
|
|
const sendMsg = UrlFetchApp.fetch(api_url, settings);
|
|
var uuidResponse = sendMsg.getContentText();
|
|
var parseData = JSON.parse(uuidResponse)
|
|
var groupID = parseData['data'][0]['id']
|
|
var groupName = array.indexOf(item);
|
|
if (groupName != -1) {
|
|
array[groupName] = groupID;
|
|
}
|
|
}
|
|
}
|
|
const dom = array.shift();
|
|
const groups = array;
|
|
//const domain_to_update : { domain: dom, group_ids: groups }
|
|
sendWebhook({domain_to_update : { domain: dom, group_ids: groups }})
|
|
}
|
|
}
|
|
|
|
function sendWebhook(domain_to_update){
|
|
var payload = domain_to_update
|
|
//Logger.log(JSON.stringify(payload))
|
|
var options = {
|
|
'method': 'post',
|
|
'payload': JSON.stringify(payload)
|
|
};
|
|
//UrlFetchApp.fetch('https://webhooks.workato.com/webhooks/rest/604b4fc0-fcd9-4f3b-b715-b42d7f740ba6/domains-updated', options);
|
|
|
|
}
|