首页 > 解决方案 > 使用谷歌应用脚​​本将文件从谷歌驱动器上传到外部 api

问题描述

我正在使用谷歌表单将文件上传到谷歌驱动器。现在我希望能够使用谷歌应用脚​​本将这些(上传的)文件从谷歌驱动器上传到外部 api 。( GoCD的这个api是具体的。)

我试图以这种方式上传文件,这可能是错误的,但它不起作用:

function main() {
  var url = "https://<my-server-url>/go/files/Pipeline1/1/Stage1/1/Job1/folder/";
  var form = {
    file : DriveApp.getFileById("<file-id>"),
  };
  uploadFile(url,form);
}

function uploadFile(url,form) {
  
  var options = {
    "method" : "POST",
    "header" : {
    "Confirm" : true
    },
    "muteHttpExceptions" : true,
    'zipFile' : form
  };
  
  var response = UrlFetchApp.fetch(url,options);
  Logger.log("Response body: " + response.getContentText());
}

有没有其他方法可以进行 POST api 调用以从驱动器上传文件?此外,对于谷歌应用程序脚本的 doPost() 方法的资源的任何帮助将不胜感激。

标签: google-apps-scriptfile-uploadgo-cd

解决方案


请参阅@Tanaike 的帖子和回答,因为我认为我找到的答案也回答了您的问题,@Shivani-Shinde:您如何从 Google Drive 创建图像文件并将其插入到 Google Apps Script UrlFetchApp.fetch 调用外部 API?.

var formData = {
  'upload': DriveApp.getFileById("###").getBlob()
};

推荐阅读