Home > Enterprise >  put works in postman but not google scripts
put works in postman but not google scripts

Time:09-25

I am trying to push sheets data from a quiz to an api. The put works fine in postman but I can't seem to get it to work in google scripts.

Postman

var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Basic bmljazpuaWNr");
myHeaders.append("Cookie", "FB_ResponseHeaders={"X-XSS-Protection":{"Key":"1; mode=block","Value":"5C-58-58-82-DB-E9-4D-AD-BF-23-F8-5A-65-1E-EE-7B-96-94-7C-E6"},"X-Content-Type-Options":{"Key":"nosniff","Value":"E9-85-E8-2B-38-74-3B-AA-71-5A-41-1D-65-49-06-A7-FF-B3-D2-57"},"Strict-Transport-Security":{"Key":"max-age=31536000; includeSubDomains","Value":"1D-31-04-88-80-8A-6A-27-8E-2D-72-C5-32-98-74-A9-F8-E8-0C-E7"}}; fbd_cooked=!/muNNuj9SlbMhC0PporV/qqu1cgGGvczJaMywTIzq 9GDRYedxCjdCU9X3WnSt1ijLXqndrZJ1DCTVw=");

var raw = JSON.stringify({
  "fieldName": "SingleLineText5",
  "fieldValue": "question1test"
});

var requestOptions = {
  method: 'PUT',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

Google Scripts

  // put em in a payload
var payload = {  
  "fieldName": "SingleLineText7",
  "fieldValue": "question1googleSheet" }
var encodedAuth = Utilities.base64Encode("nick:nick");
var headers = [{"Authorization" : "Basic "   encodedAuth},{"Content-Type":"application/json"}];
var options = {
  'method': 'PUT',
  'body': JSON.stringify(payload),
  'headers': headers,
  'redirect': 'follow'
}

response = UrlFetchApp.fetch(url, options);



//log the response
Logger.log(JSON.stringify(response));

Am receiving Exception: Attribute provided with invalid value: headers

If i remove the "Content-Type" I get no error but send no data just returns {}

CodePudding user response:

According to the documentation you are using the wrong parameter. It should be:

const options = {
  method : "PUT", // this was correct
  payload: JSON.stringify(payload), // correct this 
  followRedirects : true, // correct this
  headers: headers
}
  • Related