gpt4 book ai didi

google-apps-script - 所需权限 : https://www. googleapis.com/auth/spreadsheets

转载 作者:行者123 更新时间:2023-12-02 19:07:01 34 4
gpt4 key购买 nike

我在 appscript 上创建了一个简单的代码,用于从 URL 中获取 Google 云端硬盘文件名

function FileName (URL) {
var ss = SpreadsheetApp.openByUrl(URL);
return ss.getName();
}

当我运行时出现错误:

Exception: You do not have permission to callSpreadsheetApp.openByUrl. Required permissions:https://www.googleapis.com/auth/spreadsheets (linha 6).

我已经在高级 Google 服务区域启用了 Drive 和 Sheets API,因此“https://www.googleapis.com/auth/spreadsheets”应该没问题,但事实并非如此。

我怎样才能做到这一点?

我在this link中创建了一个示例表问题复制。

最佳答案

问题说明:

您正在使用自定义函数。

official documentation 中有很好的解释。 :

If your custom function throws the error message You do not havepermission to call X service., the service requires user authorizationand thus cannot be used in a custom function.

正如该消息明确指出的那样,您不得在自定义函数中使用需要授权的服务,例如 SpreadsheetApp.openByUrl(URL)

还有一个表格特别指出SpreadsheetApp.openByUrl(URL);不能在自定义函数内使用:

enter image description here

解决方法:

您可以通过多种方式使用常规函数:

  1. 作为自定义菜单按钮实现,
  2. 从脚本编辑器执行它们,
  3. 通过 simple triggers 执行它们,
  4. 创建插件菜单等。

脚本的常规函数​​版本:

function FileName () {
var URL = "spreadsheet_url"
var ss = SpreadsheetApp.openByUrl(URL);
var sheet = SpreadsheetApp.getActive().getSheetByName('Sheet1');
sheet.getRange('A1').setValue(ss.getName());
}

执行后(参见屏幕截图),此脚本会将 Sheet1 的单元格 A1 的值设置为电子表格文件的名称。

enter image description here

我建议您在官方文档中查找我在此脚本中使用的函数,看看它们各自的作用。

更新:

我刚刚打开您的工作表,发现您正在使用 SpreadsheetApp.openByUrl(URL); 但此方法仅适用于电子表格,因此类名为 SpreadsheetApp。如果你想打开一个文件ID那么你需要使用 getFileById(id) 。我在第一列中看到您有文件 URL,但没有方法通过 URL 打开文件。来自这样的文件的 id:

https://drive.google.com/file/d/1d-2L5kGZWbUa_p7iLgBBa59QqZiyIhgp/view?usp=sharing

是:

1d-2L5kGZWbUa_p7iLgBBa59QqZiyIhgp

因此你需要使用

var 文件 = DriveApp.getFileById('1d-2L5kGZWbUa_p7iLgBBa59QqZiyIhgp')

代码片段如下:

function FileName () {
var URL = "1d-2L5kGZWbUa_p7iLgBBa59QqZiyIhgp"
var file = DriveApp.getFileById(URL);
var sheet = SpreadsheetApp.getActive().getSheetByName('Sheet1');
sheet.getRange('B1').setValue(file.getName());
}

请熟悉 GAS,因为这个问题刚刚成为一个需要更多关注的问题。

关于google-apps-script - 所需权限 : https://www. googleapis.com/auth/spreadsheets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64895519/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com