Google App脚本外部API返回错误406

时间:2018-10-03 11:15:32

标签: google-apps-script urlfetch http-status-code-406

我正在尝试使用GAS中的可选高级参数来获取URL:

function myFunction() {
  var options = {};
  options = {
    headers: {
      Authorization: 'Bearer ?????',
      'Content-Type': 'application/json',
    },
  };
  UrlFetchApp.fetch(<url>, options);
}

我总是得到:

  

对于返回的代码406(第52行,文件“ Project”)的请求失败。

HTTPResponse:

  

SyntaxError:空JSON字符串

我在Excel Power Query中进行了相同的提取:

let
    Source = Json.Document(Web.Contents(<URL>, [Headers=[Authorization="Bearer 
?????????????", ContentType="application/json"]])),

它有效,它也可以在Postman中使用...

GAS有什么问题?请帮我!在此先感谢大家。 安德里亚

1 个答案:

答案 0 :(得分:2)

406错误是因为服务器和客户端之间的内容协商失败。设置Content-Type时,Power查询和Postman也可能会将接受的返回内容也广告为'application/json',但是UrlFetchApp却不这样做。添加显式的Accept标头可以解决此问题:

Accept: 'application/json'

参考文献: