Javascript 如何允许通过应用程序脚本访问导入功能?

Javascript 如何允许通过应用程序脚本访问导入功能?,javascript,google-apps-script,google-sheets,importrange,Javascript,Google Apps Script,Google Sheets,Importrange,当您在电子表格中手动输入导入功能时,您将收到一个弹出窗口,并且必须“允许访问” 然而,我正试图通过一个脚本找到一种方法来实现这一点,因为我正在创建许多电子表格,每个电子表格都有一个查询导入功能(我“拥有”有数据要导入的电子表格)。太多了,我无法通过弹出窗口手动“允许访问”并更新函数以包含查询函数 因此,我在apps脚本中寻找一个函数调用,它可以执行与弹出窗口相同的操作。下面是代码段示例 有人知道可以“允许访问”的函数吗? 斯特凡 我遇到了与此类似的问题,并发现答案是更改从中导入数据的spread

当您在电子表格中手动输入导入功能时,您将收到一个弹出窗口,并且必须“允许访问”

然而,我正试图通过一个脚本找到一种方法来实现这一点,因为我正在创建许多电子表格,每个电子表格都有一个查询导入功能(我“拥有”有数据要导入的电子表格)。太多了,我无法通过弹出窗口手动“允许访问”并更新函数以包含查询函数

因此,我在apps脚本中寻找一个函数调用,它可以执行与弹出窗口相同的操作。下面是代码段示例

有人知道可以“允许访问”的函数吗? 斯特凡


我遇到了与此类似的问题,并发现答案是更改从中导入数据的spreadhseet文件的权限(示例中的“filekey”)

这是让“允许访问”消失的谷歌应用程序脚本:

file.setSharing(DriveApp.Access.ANYONE_WITH_LINK, DriveApp.Permission.VIEW)

我所做的一切就是与组织中使用gsheet模板的人员共享“源”表——
ImportRange
从中获取其数据的表。我通过单击“授权访问”按钮编辑了该模板,此后我从该模板制作的所有表都工作了


ImportRange
功能可以正常工作,我无需重新授权从模板创建的每个新工作表的访问权限。我希望它能为我所在组织中的其他人工作。

我通过调用addimportrangepermissions端点,使用python库自动完成此操作

    sheet.client.request(
        'post',
        f'https://docs.google.com/spreadsheets/d/{sheet.spreadsheet.id}/externaldata/addimportrangepermissions',
        params={'donorDocId': external_sheet.spreadsheet.id}
    )
我知道这不是通过应用程序脚本实现的,但它可以为您提供一些如何在那里实现的提示


注意:我没有找到任何关于这方面的文档,因此我认为这可以帮助任何人在任何平台(应用程序脚本、python等)上尝试做同样的事情.

我认为不可能调用函数来允许访问。相反,您可以通过名称或ID访问工作表,并在应用程序脚本中获得所需的范围。希望这会有所帮助!您是否尝试过直接从GAS IDE运行一些主函数,据说谷歌会查看您的代码并让您一步完成身份验证?您是否拥有该工作表?可能这是唯一的解决方案-导入的工作表必须公开,并且您不再有
允许访问
。谢谢。请注意
file.setSharing(DriveApp.access.DOMAIN_带链接,DriveApp.Permission.VIEW);
file.setSharing(DriveApp.access.DOMAIN_带链接,DriveApp.Permission.EDIT);
不起作用。
    sheet.client.request(
        'post',
        f'https://docs.google.com/spreadsheets/d/{sheet.spreadsheet.id}/externaldata/addimportrangepermissions',
        params={'donorDocId': external_sheet.spreadsheet.id}
    )