[英]How to convert a cURL request into a Google Apps Script UrlFetchApp
[英]How to convert ajax in javascript to UrlFetchApp in Google script?
我想從谷歌腳本中的 szimek 廣告套件 api 獲取數據。 這是從 javascript 中的 szimek api 獲取數據的示例。
var settings = {
"url": "https://adapi.uat.sizmek.com/sas/login/login",
"method": "POST",
"timeout": 0,
"headers": {
"Content-Type": "application/json",
"api-key": "api key token",
"": ""
},
"data": "{username:\"Username\", password: \"Password\"}",
};
$.ajax(settings).done(function(response) {
console.log(response);
});
所以我在谷歌腳本中轉換了代碼。
const API_KEY = '[api token]';
var url = 'https://adapi.sizmek.com/sas/login/login/'
// Make a POST request with a JSON payload.
var data = {
'username': '[username]',
'password': '[password]',
};
var options = {
'method' : 'post',
'contentType': 'application/json',
"headers":{
Authorization: API_KEY
},
"payload": JSON.stringify(data),
'muteHttpExceptions': true
};
var response = UrlFetchApp.fetch(url, options);
但是我得到了未經授權的錯誤。 問題是什么?
雖然不幸的是,我無法測試您的請求,但如果您的頂級腳本是正確的,我認為Authorization: API_KEY
可能是"api-key": "api key token",
。 那么,下面的修改呢?
"headers":{
Authorization: API_KEY
},
"headers":{ "api-key": "api key token" },
我擔心當請求header中包含"": ""
時,可能會出錯。
當我再次看到您的頂級腳本時, "{username:\"Username\", password: \"Password\"}"
的每個鍵都沒有被"
括起來。我認為如果這是正確的,我認為"{username:\"Username\", password: \"Password\"}"
可能無法解析為JSON object。但是,我不確定服務器端的規范。所以,如果上面的修改是不能直接解決您的問題,請測試以下修改。
從
"headers":{ Authorization: API_KEY }, "payload": JSON.stringify(data),
到
"headers":{ "api-key": "api key token" }, "payload": "{username:\"Username\", password: \"Password\"}",
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.