【问题标题】:How to direct Puppeteer downloads directly into Google AppScript如何将 Puppeteer 下载直接导入 Google AppScript
【发布时间】:2021-12-30 16:03:55
【问题描述】:

如果有人可以提出想法,将不胜感激:

我目前有一个 Puppeteer 脚本,它可以自动将 CSV 下载到谷歌驱动器中,然后允许我以编程方式访问数据并将其移动到谷歌表格中。

目前,我在我的计算机上本地运行 VS 代码。我还不太了解如何通过 puppeteer 处理文件下载,但我目前有一个解决方法,方法是将默认 chrome 下载路径设置为我计算机上的一个文件夹,该文件夹实际上是桌面驱动器,如此简单的方法直接在驱动器中获取文件。

await page._client.send('Page.setDownloadBehavior', {behavior: 'allow', downloadPath: path.resolve('G:/My Drive/DriveData')});

问题是,我希望这是某种类型的预定云功能,而不必在我的计算机上手动运行。如果我这样做,我的 Drive for Desktop 解决方法将不可行。那么有没有办法可以以某种方式将 Puppeteer 中的文件下载直接传递到 Google AppScript 中?还是使用Drive API直接接收文件?

我的主要问题是我不明白如何在 Puppeteer 中实际处理文件下载,我目前正在编辑 google chrome 实例 puppeteer 创建的默认下载位置。我最终只需要在 Google AppScript 可以访问的地方获取数据。

任何建议都将不胜感激!

【问题讨论】:

    标签: google-apps-script google-cloud-platform google-drive-api puppeteer google-sheets-api


    【解决方案1】:

    我也面临同样的情况,不幸的是我们无法在谷歌应用脚​​本环境中安装或使用 puppeteer, 另一种方法是使用 UrlFetchApp 、cookie 和会话进行文件下载
    using session and cookies
    以下代码将帮助您将文件保存到 Gdrive

    var file = folder.createFile(UrlFetchApp.fetch("url of the downloaded file fetched dynamically"));
    


    您需要检查 chrome 中的网络日志,以了解文件的下载方式以及下载文件的 URL 请求,您可以将其传递给函数
    另一种可以帮助您将文件下载到驱动器的方法是使用https://developers.google.com/drive 我曾使用 python 将文件保存在驱动器https://www.thepythoncode.com/article/using-google-drive--api-in-python

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-25
      • 2021-03-01
      • 1970-01-01
      • 2017-11-08
      • 1970-01-01
      • 2013-06-21
      • 2019-12-02
      • 2022-10-16
      相关资源
      最近更新 更多