首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用自定义API的“.内部错误代码”,Web调用失败

使用自定义API的“.内部错误代码”,Web调用失败
EN

Stack Overflow用户
提问于 2020-05-23 03:59:28
回答 1查看 1.4K关注 0票数 1

我有一个带有一组卡片的电子表格,我编写了一个doGet()函数来选择一个随机的函数,并将它返回给用户。当将Web输入到web浏览器中时,结果会很好。但是,当我试图通过请求模块发出HTTP请求时,它会返回以下内容:

代码语言:javascript
复制
<!DOCTYPE html><html><head><link rel="shortcut icon" href="//ssl.gstatic.com/docs/script/images/favicon.ico"><title>Error</title><style type="text/css">body {background-color: #fff; margin: 0; padding: 0;}.errorMessage {font-family: Arial,sans-serif; font-size: 12pt; font-weight: bold; line-height: 150%; padding-top: 25px;}</style></head><body style="margin:20px"><div><img alt="Google Apps Script" src="//ssl.gstatic.com/docs/script/images/logo.png"></div><div style="text-align:center;font-family:monospace;margin:50px auto 0;max-width:600px">We&#39;re sorry, a server error occurred while reading from storage. Error code INTERNAL.</div></body></html>

提取的错误消息是:

我们很抱歉,在从存储中读取时发生了服务器错误。内部错误代码。

我搜索了这个错误代码,但是没有人拥有“内部错误代码”的相同结尾,而且大多数都是关于其他用户的。这是我的doGet函数和请求函数

Google脚本:

代码语言:javascript
复制
function doGet(request){
  var requestType = request.parameter.type
  if(requestType == "random_card"){
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getSheets()[0];
    var entriesL = sheet.getLastRow() - 1;
    var cardNum = getRandomInt(entriesL);
    var card = SpreadsheetApp.getActiveSheet().getRange(2 + cardNum, 2).getValue();
    var set = SpreadsheetApp.getActiveSheet().getRange(2 + cardNum, 1).getValue();
    var output = '{"card":"' + card + '","cardSet":"' + set + '"}';
    Logger.log(output)
    return ContentService.createTextOutput(output);
  }
}

Node.js

代码语言:javascript
复制
function randomCard(){
  var info;
  request.get('{url here}?action=get&type=random_card',function(err,res,body){
    console.log(body)
    info = JSON.parse(body);
  });

  return info;
}
EN

回答 1

Stack Overflow用户

发布于 2020-05-23 23:26:14

是的,这应该够了。该错误表示权限错误(因为您在外部调用webapp --尽管您之前应该获得该权限,因为getActiveSpreadsheet的要求是相同的)--尝试在脚本编辑器中打开web应用程序,运行该函数并对其进行授权。如果您已经这样做了,请检查web应用程序是否配置为"as me“(如果您同意),或者考虑切换到Sheets API - Oleg Valter

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61967246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档