问题描述
我正在尝试使用UrlFetchApp从Google Apps脚本向外部API发出GET请求。当我用Postman或curl发出此请求时,我得到了预期的响应。但是,当我用UrlFetchApp
尝试时,我得到一个空的响应{}
。
我尝试使用Basic Auth和OAuth 2,以及按照here所述在清单中显式设置oauthScopes
属性。
我已经与API团队确认,当我到达端点时,他们确实确实在发送完整的响应,但是我收到的只是{}
。我的问题似乎与this StackOverflow question类似,无法解决。
var headers = {
"X-Client-Key": "KEY","Authorization": "Bearer TOKEN"
};
var options = {
method: "get",headers: headers,}
var response = UrlFetchApp.fetch(ENDPOINT,options);
console.log(JSON.stringify(response)); // returns {}
解决方法
不要以日志记录的面值查看。 ID membername memberid filedate enddate
12345 Alpha 5678 2020-01-01 2020-04-30
12345 Beta 9569 2020-05-01 2020-07-31
12345 Gamma 8765 2020-08-01 2999-12-31
服务的fetch
方法始终返回HTTPResponse
的实例,该实例首先是一个对象。这就是日志显示的内容(我假设您正在记录UrlFetchApp
,因为这是我知道显示response
的唯一上下文。
要从响应中提取有用的信息,请使用{}
实例上公开的适当方法,例如getResponseCode
或getContentText
。