【问题标题】:How to access an object stored in a non-public google bucket using app-script如何使用 app-script 访问存储在非公共谷歌存储桶中的对象
【发布时间】:2023-10-06 17:59:01
【问题描述】:

有没有办法使用 app-script 访问存储在非公共谷歌存储桶中的对象?

我有这个适用于公开文件的功能,但我似乎找不到任何关于如何访问非公开存储桶的文档?

如何授权应用脚本访问存储桶?

function import_data_from_bucket() {

var url = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.txt';
var text = UrlFetchApp.fetch(url).getContentText(); 
var csv = Utilities.parseCsv(text, ',');   
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
sheet.getRange(1, 1, csv.length, csv[0].length).setValues(csv);

}

【问题讨论】:

    标签: authentication google-apps-script google-sheets google-bucket


    【解决方案1】:

    我了解到您想使用 Apps Script 从 Cloud Storage 存储分区下载对象。如果是这种情况,您可以按照this 指南下载所有内容。要在 Apps 脚本上复制这些步骤,您需要使用 UrlFetchApp.fetch() 管理端点和标头以捕获数据。请向我提出任何其他疑问,以便我可以更好地帮助您。

    【讨论】:

    • 经过一些额外的研究,我已经弄清楚了如何做到这一点(使用 AWS s3)。我发现 kmotrebski 的这段代码在这里为 aws 生成签名 URL link,它允许 google 表格从非公共存储中提取数据。我确信可以为 google buckets 构建一个类似的版本,但我找不到它。
    最近更新 更多