GAS:连接到API时出现错误401

问题描述 投票:0回答:1

我正在尝试连接Cloud Waitress API,这是餐馆的解决方案,

文档:https://apidocs.cloudwaitress.com/#orderpromos

它的文档提供了有关如何连接到API的示例:

curl https://api.cloudwaitress.com/v1/orders \
  -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: YOUR_API_KEY" \ 
  -d `
    {
      "restaurant_id": "xxxxxxx",
      "limit": 10,
      "page": 1,
      "sort": { "created": -1 },
    }
  `

[我试图在GAS中创建脚本以将信息返回到电子表格。

基于此问题:

How curl maps onto Google App Script URLFetchApp

我已如下更改我的代码:

function getAuthHeader(){
  var apiKey = "SOME-API-KEY";
  var authHeader = Utilities.base64Encode(apiKey);
  return {
    headers: {Authorization: authHeader}
   }
}

function GetOrders(){  
  var url = "https://api.cloudwaitress.com/v1/orders";  

  var data = {
    "restaurant_id":"SOME-RESTAURANT-ID",
    "limit": 10,
    "page": 1,
    "sort": { "created": 1 }
  };

  var result = goPost(url ,data);

}

function goPost(url,data){
   var options = {
   'method' : 'post',
   'payload' : data,
   'headers': getAuthHeader()['headers']
   };

   var response; 

   try{
     response = JSON.parse(UrlFetchApp.fetch(url,options).getContentText());
   }catch(err){
    Logger.log(err);
   }

   return response;
 }

现在,我得到的新错误是:

异常:返回https://api.cloudwaitress.com的请求失败代码401。服务器响应被截断:{“结果”:1,“消息”:“无效身份验证”}(使用MutantHttpExceptions选项检查完整响应)

自从我之前遇到500错误以来,我相信这是一个很大的进步。

enter image description here

我已经向cloudwaitress团队寻求帮助,但是我想知道是否还有其他可以尝试的方法。

感谢您的时间。

google-apps-script urlfetch
1个回答
0
投票

此修改如何?

修改点:

© www.soinside.com 2019 - 2024. All rights reserved.