我尝试使用 apps-script doGet() 函数制作一个 API.我可以通过适当的验证步骤在浏览器上访问该 API 的内容,但无法使用另一个 apps-script 项目访问相同的内容。
该API看起来如下,并作为Web应用程序发布。
function doGet(request){
var parameters = request.parameters;
var request_id = parameters.id;
var response_obj = getObjectById(request_id);
return ContentService.createTextOutput(JSON.stringify(response_obj)).setMimeType(ContentService.MimeType.JSON);
}
和请求是简单地使用
const content = UrlFetchApp(url).getContentText();
是否有根本性的错误,或者是否有认证程序可以进行,以便访问这些内容。
找到答案了,谢谢大家的帮助
我需要的是一个认证程序和应用程序脚本是非常慷慨的,这一点
参考 在GAS中使用通过ScriptApp.getAuthToken()获得的AuthToken来调用Web应用。
我能够使用下面的验证代码段来实现这个解决方案
var token = ScriptApp.getOAuthToken();
var header = {"Authorization":"Bearer " + token};
var options = {
"method":"GET",
"headers": header,
"muteHttpExceptions": true
};
const content =UrlFetchApp.fetch(url, options).getContentText();
这一行
const content = UrlFetchApp(url).getTextContent();
应是
const content = UrlFetchApp.fetch(url).getContentText();
请参阅文件,了解 UrlFetchApp
此处.