Google Drive MD5校验和文件

Ale*_*lex 35 checksum md5 google-drive-api

我不是程序员,只是Google云端硬盘的常规用户.我想看看文件是否正确上传.我在OAuth 2.0 Playground中查看了列出所有文件的整个过程,显示了MD5校验和,但每个文件还有大量信息.如果我上传新文件,则很难搜索它并验证其md5校验和.

是否有更简单的方法(通过应用程序,可能?)显示/列出上传文件的MD5校验和?我想知道为什么"细节"窗格没有它,只列出文件大小(以字节为单位).

Ale*_*lex 44

编辑:注意:对于v3 API,这些说明略有改动

我已经想出了一个快速的方法来获取上传文件的MD5校验和,并决定在这里分享它.登录您的Google云端硬盘帐户,然后:

访问:https://developers.google.com/drive/v2/reference/files/list

向下滚动到试试吧!部分.

通过单击将"使用OAuth 2.0授权请求"从OFF更改为ON,然后选择:

https://www.googleapis.com/auth/drive.metadata.readonly

然后单击"授权".

选择您的帐户,然后点击接受.

使用以下内容填写字段字段:(使用v3 API替换文件项)

项目(md5Checksum,originalFilename)

只获取文件名和MD5校验和列表.

点击执行,您将打开一个列表,其中包含上传到Google云端硬盘及其MD5校验和的所有文件.

  • 这个答案在 2019 年仍然有效。只有 UI 中的一些细微变化。例如:点击“显示标准参数”链接后可以找到“字段”字段,“试用”部分位于网页右侧。 (4认同)
  • @ElliottB您确实授予Google对Google云端硬盘的读/写权限.imho,他们可能已经有了:-) (3认同)
  • 这个答案在2020年仍然有效,只是有一些细微的变化。1) 您不再需要选中复选框,默认选中“Google 0Auth 2.0”。2) 对于v3 API,不再需要选择“显示标准参数”;“fields”位于列表底部,无需单击此链接。 (2认同)

Jac*_*ekM 6

以下是列出md5校验和的另外三种不同方法.

  1. 安装Google Skicka,一个用于Google云端硬盘的命令行工具并运行skicka ls -ll / 虽然自述文件说它不是官方的谷歌产品,但它是托管在谷歌的github帐户上,所以我想它可以信任.
  2. 一个插件可以在驱动器的电子表格中列出所有带有校验和的文件.
  3. 这是我为自己创建的python3脚本.它主要是从谷歌的官方例子中复制而来.您需要获取client_secret.json文件并将其与脚本放在同一目录中 - 这是指令的操作方法.


XP1*_*XP1 5

API说明

Google Developers-OAuth 2.0 Playground:

步骤1:选择并授权API:

步骤2:将授权代码交换为令牌:

  • 单击“交换令牌的授权码”。

步骤3:设定对API的要求:

  • 输入“请求URI”。
  • 点击“发送请求”。

请求URI指令

文件夹中的所有文件

获取文件夹中文件的特定字段:

https://www.googleapis.com/drive/v3/files?q="folderId"+in+parents&fields=files(md5Checksum,+originalFilename)
//
Run Code Online (Sandbox Code Playgroud)

用文件夹ID替换“ folderId”。

您可以&fields=files(*)用来获取文件的所有字段。

单文件

获取文件的特定字段:

https://www.googleapis.com/drive/v3/files/fileId?fields=md5Checksum,+originalFilename
//
Run Code Online (Sandbox Code Playgroud)

将“ fileId”替换为文件ID。

您可以&fields=*用来获取文件的所有字段。

解析JSON响应

  • 打开一个JavaScript控制台。
  • 将对象保存到变量中。
  • 映射对象。
  • 复制结果。

var response = {
  "files": [
    {
      "md5Checksum": "0cc175b9c0f1b6a831c399e269772661", 
      "originalFilename": "a.txt"
    }, 
    {
      "md5Checksum": "92eb5ffee6ae2fec3ad71c777531578f", 
      "originalFilename": "b.txt"
    }
  ]
};


var result = response.files.map(function (file) { return (file.md5Checksum + " *" + file.originalFilename); }).join("\r\n");

console.log(result);
copy(result);
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,这既简单又值得信赖。 (2认同)