首页 > 解决方案 > 无法访问在应用程序脚本中制作的 API 内容

问题描述

我尝试使用应用程序脚本 doGet() 函数制作 API。我可以使用适当的身份验证步骤在我的浏览器上访问此 API 的内容,但无法使用另一个应用程序脚本项目访问相同的内容。

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();

是否存在根本性错误或是否有可以执行的身份验证程序以访问此内容

找到答案感谢帮助的家伙

我需要的是一个身份验证程序,而应用程序脚本对此非常慷慨

参考使用通过ScriptApp.getAuthToken()获取的AuthToken调用GAS中的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();

标签: apiauthenticationgoogle-apps-scriptgoogle-oauth

解决方案


线

const content = UrlFetchApp(url).getTextContent();

应该

const content = UrlFetchApp.fetch(url).getContentText();

请参阅UrlFetchApp 此处的文档。


推荐阅读