首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以使用Google脚本解压缩7 7zip文件格式的文件?

是否可以使用Google脚本解压缩7 7zip文件格式的文件?
EN

Stack Overflow用户
提问于 2019-12-30 22:30:43
回答 2查看 340关注 0票数 0

我已经成功地使用Google脚本成功解压缩了一个普通的zip文件。但是,我使用的程序输出使用7zip压缩的某些文件。有没有一种方法可以在Google脚本中解压缩7zip文件?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-12-31 09:21:15

Google脚本不支持7跳出框。它只支持GzipZip

然而,有了必要的时间和知识,您可以获得一个用javascript编写的开源扩展,并将其重写到Apps脚本中,只要注意,如果扩展有依赖项,您也必须重写依赖项。

票数 0
EN

Stack Overflow用户

发布于 2021-05-05 15:04:21

也许您可以先使用cloudconvert (每天最多25个转换)尝试转换为zip文件( https://cloudconvert.com/api/v2/jobs/builder )。

端点

POST https://api.cloudconvert.com/v2/jobs

请求体

代码语言:javascript
复制
{
    "tasks": {
        "import-1": {
            "operation": "import/url",
            "url": "https://notepad-plus-plus.org/repository/7.x/7.0/npp.7.bin.minimalist.x64.7z"
        },
        "task-1": {
            "operation": "convert",
            "input_format": "7z",
            "output_format": "zip",
            "engine": "archivetool",
            "input": [
                "import-1"
            ]
        },
        "export-1": {
            "operation": "export/url",
            "input": [
                "task-1"
            ],
            "inline": false,
            "archive_multiple_files": false
        }
    }
}

创建新的API键: https://cloudconvert.com/dashboard/api/v2/keys

Google AppScript:

代码语言:javascript
复制
function cloudConvert7ztoZip() {
// Make a POST request with a JSON payload.
var data = {
    "tasks": {
        "import-1": {
            "operation": "import/url",
            "url": "https://notepad-plus-plus.org/repository/7.x/7.0/npp.7.bin.minimalist.x64.7z"
        },
        "task-1": {
            "operation": "convert",
            "input_format": "7z",
            "output_format": "zip",
            "engine": "archivetool",
            "input": [
                "import-1"
            ]
        },
        "export-1": {
            "operation": "export/url",
            "input": [
                "task-1"
            ],
            "inline": true,
            "archive_multiple_files": true
        }
    }
}
var headers = {
        'Authorization': 'Bearer CLOUDCONVERT API KEY'
    };

var options = {
  'method' : 'post',
  'contentType': 'application/json',
  'headers': headers,
  // Convert the JavaScript object to a JSON string.
  'payload' : JSON.stringify(data)
  };

 var response = JSON.parse(UrlFetchApp.fetch('https://api.cloudconvert.com/v2/jobs', options));

 var dataID = response.data.id;

  var options2= = {
  'method' : 'get',
  'contentType': 'application/json',
  'headers': headers,
  };
  
  // if the file is too big wait a few seconds
  // Utilities.sleep(3000);

  var urlStatus = 'https://api.cloudconvert.com/v2/jobs/'+dataID+'/wait'
  var conversionStatus = JSON.parse(UrlFetchApp.fetch(urlStatus, options2));
  Logger.log(conversionStatus.data.tasks[0].result.files);
 
}

参考资料:

https://cloudconvert.com/api/v2

https://developers.google.com/apps-script/reference/url-fetch/url-fetch-app#fetch(String,Object)

https://developers.google.com/apps-script/reference/utilities/utilities?hl=en#sleep(Integer)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59537534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档