如何获取Google Drive文件的'fileId'?

1 投票
1 回答
3012 浏览
提问于 2025-04-19 01:35

我有一个网页应用,用户可以用它来创建和编辑Google Drive上的文件。我可以创建和保存新文件。但是当我想更新一个已经存在的文件时,就遇到问题了。根据Google Drive的API文档,要更新一个已有的文件,用户需要提供那个文件的'fileId'。可是,我该如何获取某个文件的'fileId'呢?我手上有文件的标题,但我不知道怎么得到'fileId'。

我正在使用以下代码来实现这个功能:

fileId = <How to get this?>
media_body = MediaFileUpload(filename, mimetype='text/x-script.phyton', resumable=True)
body = {
    'title': filename,
    'description': 'File saved from Pythonista app',
    'mimeType': 'text/x-script.phyton'
}
existing_file = service.files().get().execute()
if existing_file:
    resource = service.files().update(
        fileId=fileId,
        body=existing_file,
        newRevision=True,
        media_body=media_body).execute()

1 个回答

1

在获取文件的时候,你总是需要保留那个ID。跟Dropbox不一样,Google Drive的路径和文件名几乎没什么用。

请参考以下资源:

当你获取用户项目列表时,你需要发出一个类似这样的请求 链接:Google Drive SDK API用于列出文件

在“files”这个容器里,你可以期待找到这样的数据:

{
  "kind": "drive#file",
  "id": string,  <<<<< HERE
  "etag": etag,
    ****
  "title": string, <<<<<<< Name of the file you already use
    ****
  }
}

链接:Google Drive SDK API用于文件资源信息

所以在你的代码里,大多数情况下你应该传递ID,文件名在这里并不是特别重要。

撰写回答