Google 表格中的 importdata() 包装器
Wrapper around importdata() in Google Sheets
我正在尝试在 code.gs
中围绕 Google Sheets 的 importdata()
编写包装器:
100
101 function cryptofinance(token) {
102 var currentCell = SpreadsheetApp.getCurrentCell();
103 currentCell.setValue('=importdata("https://cryptoprices.cc/"+ token)');
104 }
105
106 ...
想法是从价差sheet中的任何sheet调用函数来获取任何加密货币代币的价格:
| A
+---+-------------------------+
| 1 | =cryptofinance("aion") |
+---+-------------------------+
我在尝试此操作时遇到错误:
| A
+---+-------------------------+
| 1 | #ERROR |
+---+-------------------------+
#ERROR Exception: You do not have permission to perform that action. (line 102).
为什么会这样,我该如何解决?
Apps 脚本在 运行 运行时会假定某些权限,但在某些情况下,您需要使用正确的 OAuth 权限手动更新 appsscripts.json
以授予访问数据的权限。
要显示您的 appsscripts.json
,导航到您的项目设置并切换选项“在编辑器中显示 'appsscript.json' 清单文件”。这应该会在 Apps 脚本的边栏中显示它。
一旦进入appsscript.json
,添加
"oauthScopes": [
"https://www.googleapis.com/auth/spreadsheets",
]
您可以阅读更多相关信息here
试试这个:
function cryptofinance(token = "AION") {
//Logger.log(UrlFetchApp.fetch(`https://cryptoprices.cc/${token}/`));
return UrlFetchApp.fetch(`https://cryptoprices.cc/${token}/`).getContentText();
}
自定义函数可用于 return 值、句点。
自定义函数不能用于执行任何需要 运行 授权的方法,也不能使用自定义函数修改包含公式的单元格/区域的属性。参考https://developers.google.com/apps-script/guides/sheets/functions
您可以在自定义函数中使用 UrlFetchApp 服务来调用外部服务,但您仍然有自定义函数的限制,即 30 秒的执行时间限制。
相关
- Function from script editor works fine but not from sheets custom function
我正在尝试在 code.gs
中围绕 Google Sheets 的 importdata()
编写包装器:
100
101 function cryptofinance(token) {
102 var currentCell = SpreadsheetApp.getCurrentCell();
103 currentCell.setValue('=importdata("https://cryptoprices.cc/"+ token)');
104 }
105
106 ...
想法是从价差sheet中的任何sheet调用函数来获取任何加密货币代币的价格:
| A
+---+-------------------------+
| 1 | =cryptofinance("aion") |
+---+-------------------------+
我在尝试此操作时遇到错误:
| A
+---+-------------------------+
| 1 | #ERROR |
+---+-------------------------+
#ERROR Exception: You do not have permission to perform that action. (line 102).
为什么会这样,我该如何解决?
Apps 脚本在 运行 运行时会假定某些权限,但在某些情况下,您需要使用正确的 OAuth 权限手动更新 appsscripts.json
以授予访问数据的权限。
要显示您的 appsscripts.json
,导航到您的项目设置并切换选项“在编辑器中显示 'appsscript.json' 清单文件”。这应该会在 Apps 脚本的边栏中显示它。
一旦进入appsscript.json
,添加
"oauthScopes": [
"https://www.googleapis.com/auth/spreadsheets",
]
您可以阅读更多相关信息here
试试这个:
function cryptofinance(token = "AION") {
//Logger.log(UrlFetchApp.fetch(`https://cryptoprices.cc/${token}/`));
return UrlFetchApp.fetch(`https://cryptoprices.cc/${token}/`).getContentText();
}
自定义函数可用于 return 值、句点。
自定义函数不能用于执行任何需要 运行 授权的方法,也不能使用自定义函数修改包含公式的单元格/区域的属性。参考https://developers.google.com/apps-script/guides/sheets/functions
您可以在自定义函数中使用 UrlFetchApp 服务来调用外部服务,但您仍然有自定义函数的限制,即 30 秒的执行时间限制。
相关
- Function from script editor works fine but not from sheets custom function