使用PowerShell从Google云端硬盘下载文件

时间:2016-10-05 17:18:24

标签: powershell

现在尝试使用PowerShell下载文件时,我有以下内容

$client = new-object System.Net.WebClient
$client.DownloadFile($AGRIDATAMISCURL,$TESTAGRIDATAMISCZIP)

其中$ AGRIDATAMISCURL是一个类似于" https://drive.google.com/file/d/< ...>"的网址和$ TESTAGRIDATAMISCZIP看起来像" C:\ test \ A.zip"

此脚本不会返回错误,但它下载的文件基本上是一个HTML文件,提示您登录Google。是否有其他方式可以下载与我共享的文件"?

谢谢。

凯文

1 个答案:

答案 0 :(得分:0)

首先共享文件

必须先共享Google云端硬盘中的文件,然后才能进行下载。从PowerShell运行时没有安全上下文,因此文件下载失败。 (要进行检查,请使用扩展名.html重命名该文件,然后在文本编辑器中查看。)

注意:以下解决方案假定链接指向非安全性至关重要的文件,或者仅将链接提供给可以信任的访问者(链接为https,因此通过传输进行加密)。另一种方法是通过Google编程方式进行身份验证-在此答案中 not 未解决的问题。

要共享文件,请在Google云端硬盘中

  1. 右键单击文件,然后选择获取共享链接

    Get Shareable Link


  2. 打开链接共享

    Link Sharing On


  1. 点击共享设置

    Sharing Settings


  1. 确保知道链接的任何人都可以查看(请注意,在公司环境中,必须与组织外部的那些共享链接,以绕过必须登录的情况)

    Share with others


然后以编程方式下载

  1. 然后,可以使用代码这样下载文件:

# Download the file
$zipFile = "https://drive.google.com/uc?export=download&id=1cwwPzYjIzzzzzzzzzzzzzzzzzzzzzzzz"
Invoke-WebRequest -Uri $zipFile -OutFile "$($env:TEMP)\myFile.doc"

  • 1cwwPzYjIzzzzzzzzzzzzzzzzzzzzzzzz替换为上面步骤#2中可共享链接设置中的ID代码。