Google apps script 如何通过谷歌应用脚本从谷歌云存储中获取上传的文件URL

Google apps script 如何通过谷歌应用脚本从谷歌云存储中获取上传的文件URL,google-apps-script,google-cloud-platform,google-cloud-storage,Google Apps Script,Google Cloud Platform,Google Cloud Storage,我正在构建谷歌应用程序脚本产品,将pdf文件上传到谷歌云存储,效果非常好(多亏了这一点)。但我无法获取上传的文件URL 这是我的uploadFileToGCS()函数: function uploadFileToGCS() { var service = getService(); if (!service.hasAccess()) { Logger.log("Please authorize %s", service.getAuthorizationUrl()); r

我正在构建谷歌应用程序脚本产品,将pdf文件上传到谷歌云存储,效果非常好(多亏了这一点)。但我无法获取上传的文件URL

这是我的
uploadFileToGCS()
函数:

function uploadFileToGCS() {

  var service = getService();
  if (!service.hasAccess()) {
    Logger.log("Please authorize %s", service.getAuthorizationUrl());
    return;
  }

  var blob = DriveApp.getFileById(params.DRIVE_FILE).getBlob();
  var bytes = blob.getBytes();

  var url = 'https://www.googleapis.com/upload/storage/v1/b/BUCKET/o?uploadType=media&name=FILE'
    .replace("BUCKET", params.BUCKET_NAME)
    .replace("FILE", encodeURIComponent(params.FILE_PATH));

  var response = UrlFetchApp.fetch(url, {
    method: "POST",
    contentLength: bytes.length,
    contentType: blob.getContentType(),
    payload: bytes,
    headers: {
      Authorization: 'Bearer ' + service.getAccessToken()
    }
  });

  var result = JSON.parse(response.getContentText());
  Logger.log(JSON.stringify(result, null, 2));
}

响应日志:
Logger.log(JSON.stringify(result,null,2))

当我点击mediaLink时,浏览器会自动下载我的pdf文件,这不是我想要的

那么我如何通过GAS从谷歌云存储中获取上传的URL文件呢? 欢迎任何意见

本教程非常简单

使用GCP控制台创建服务帐户密钥的文档是。

教程是


使用GCP控制台创建服务帐户密钥的文档是。

您看到了吗。感谢您的指导,但当我从GCS下载JSON凭证时,我的JSON没有
私钥
客户端电子邮件
?我缺少什么?您是否使用GCP控制台创建了服务帐户密钥?再见,非常感谢。我误解了。你能给我一个
baseURL
的例子吗?我刚从服务帐户下载了我的JSON,它包括
private\u key
client\u email
…,我将我的JSON作为
凭证传递给谷歌云存储,我的pdf文件url作为
baseURL
,它生成了签名url,我打开了那个URL,发现这个错误
我们计算的请求签名与您提供的签名不匹配。检查你的谷歌密钥和签名方法。
你能看到这个吗。感谢您的指导,但当我从GCS下载JSON凭证时,我的JSON没有
私钥
客户端电子邮件
?我缺少什么?您是否使用GCP控制台创建了服务帐户密钥?再见,非常感谢。我误解了。你能给我一个
baseURL
的例子吗?我刚从服务帐户下载了我的JSON,它包括
private\u key
client\u email
…,我将我的JSON作为
凭证传递给谷歌云存储,我的pdf文件url作为
baseURL
,它生成了签名url,我打开了那个URL,发现这个错误
我们计算的请求签名与您提供的签名不匹配。检查您的Google密钥和签名方法。
19-05-29 21:28:19:726 PDT] {
  "kind": "storage#object",
  "id": "bucket_name/folder_name/file_name.pdf/1559190499625016",
  "selfLink": "https://www.googleapis.com/storage/v1/b/bucket_name/o/folder_name/file_name.pdf",
  "name": "folder_name/file_name.pdf",
  "bucket": "bucket_name",
  "generation": "1559190499625016",
  "metageneration": "1",
  "contentType": "application/pdf",
  "timeCreated": "2019-05-30T04:28:19.624Z",
  "updated": "2019-05-30T04:28:19.624Z",
  "storageClass": "MULTI_REGIONAL",
  "timeStorageClassUpdated": "2019-05-30T04:28:19.624Z",
  "size": "101396",
  "md5Hash": "hash",
  "mediaLink": "https://www.googleapis.com/download/storage/v1/b/bucket_name/o/folder_name/file_name.pdf?generation=1559190499625016&alt=media",
}