![](/img/trans.png)
[英]Google Sheets - Display Note From Reference Sheet Using Apps Script
[英]Using Google Sheets API from within Apps Script for same Sheet
通过SpreadsheetApp全局,使用绑定到电子表格的应用程序脚本来实现工作表非常简单。 但是,有一些功能,例如在工作表上获取/设置过滤器,只能从Google表格REST API访问。
我已经看到了一个在Apps脚本中使用UrlFetchApp的示例,用于调用Google Sheet API,但它的编写方式就好像Apps脚本实际上并未绑定到特定的电子表格。
function getSheetBasicFilter(ssId, sheetId) {
var params = {
headers: {
"Authorization": "Bearer " + ScriptApp.getOAuthToken()
}
};
var base = "https://sheets.googleapis.com/v4/spreadsheets/";
var partialRespParams = "?fields=sheets%2FbasicFilter";
var resp = UrlFetchApp.fetch(base + ssId + partialRespParams, params);
var sheets = JSON.parse(resp.getContentText()).sheets;
for (var i = 0; i < sheets.length; i++) {
if (sheets[i].basicFilter
&& (sheets[i].basicFilter.range.sheetId == sheetId
|| (!sheets[i].basicFilter.range.sheetId && sheetId == 0))) {
return sheets[i].basicFilter;
}
}
return null;
}
当我尝试从电子表格绑定应用程序脚本中调用此函数时,我收到错误“请求的身份验证范围不足”。
由于脚本作为拥有该文档的用户运行,并且正在使用ScriptApp.getOAuthToken(),因此不清楚为什么会发生此错误。
任何帮助,将不胜感激。
首先,确保在Developers Console中启用Sheets API 。
错误“ Request had insufficient authentication scopes
”是请求中提供的OAuth 2.0令牌中的错误,指定的范围不足以访问请求的数据。
确保使用正确且所有必要的范围 ,如果您正确执行此处的步骤, 请使用OAuth 2.0检查此授权请求 。
您也可以尝试撤消访问权限并尝试重做它。
有关更多信息,请查看ScriptApp.getOAuthToken()
和此主题的文档
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.