Estoy tratando de usar una hoja de Google con los números de serie del dispositivo en la columna A y llenar la columna B con el ID de registro del dispositivo que se encuentra en nuestro MDM usando Google Apps Script y Jamf API.
Tengo la secuencia de comandos que obtiene la identificación basada en el número de serie del dispositivo en la hoja, pero no sé cómo hacer que se complete en la columna B junto al número de serie. Por el momento, agrega las filas debajo de la lista de publicaciones periódicas en la Columna B (captura de pantalla adjunta)... siento que he leído 100 sitios web ahora y no llego a ninguna parte... ¿alguna idea?
function JamfHttpPutRequest() { var rows = SpreadsheetApp.openById("MYSHEETID").getSheetByName("Sheet1").getDataRange().getValues(), range, values_array; rows.forEach(function(row, index){ var serialnumber = rows[index][0]; var url = "https://MYDOMAIN.jamfcloud.com/JSSResource/computers/serialnumber/" + serialnumber + ""; var response = UrlFetchApp.fetch(url, { "method": "GET", "headers": { "Authorization": "Basic MYAUTH", "Content-Type": "application/xml" }, "muteHttpExceptions": true, "followRedirects": true, "validateHttpsCertificates": true, "contentType": "application/xml", }).getContentText(); var document = XmlService.parse(response); var entries = document.getRootElement().getChild('general').getChild('id').getValue(); SpreadsheetApp.getActiveSheet().appendRow([null, (entries)]); // Log items Logger.log(serialnumber); Logger.log(entries); }) }Lo anterior hace esto
Tratando de hacer que haga esto que copié y pegué en el lugar correcto
Descripción
.appendRow() agrega una nueva fila después de la fila que contiene menos datos. Lo que quiere es getRange() en su lugar, como se muestra a continuación.
Código.gs
function JamfHttpPutRequest() { var rows = SpreadsheetApp.openById("MYSHEETID").getSheetByName("Sheet1").getDataRange().getValues(), range, values_array; var entries = []; rows.forEach( function(row, index){ var serialnumber = row[0]; var url = "https://MYDOMAIN.jamfcloud.com/JSSResource/computers/serialnumber/" + serialnumber + ""; var response = UrlFetchApp.fetch(url, { "method": "GET", "headers": { "Authorization": "Basic MYAUTH", "Content-Type": "application/xml" }, "muteHttpExceptions": true, "followRedirects": true, "validateHttpsCertificates": true, "contentType": "application/xml", } ).getContentText(); var document = XmlService.parse(response); var entry = document.getRootElement().getChild('general').getChild('id').getValue(); // assuming entry is a single value entries.push([entry]) // Log items Logger.log(serialnumber); Logger.log(entries); } ); // put values in row 1 column B SpreadsheetApp.getActiveSheet().getRange(1,2,entries.length,1).setValues(entries); }