【问题标题】:Error 404 when trying to get file metadata尝试获取文件元数据时出现错误 404
【发布时间】:2019-08-31 22:53:21
【问题描述】:

尝试使用 Google Drive Api、files.get 方法访问文件元数据时出现 404 错误。

我尝试使用相同的用户和相同的 fileID 从 Api 测试页面重现错误:https://developers.google.com/drive/api/v3/reference/files/get 但我无法重现该错误。从这个页面我得到一个 200 响应,我得到了我需要的元数据(文件名等)这意味着 FileID 是正确的并且文件确实存在

根据 Google 的说法,404 错误可能是由于权限不足(我不认为是这种情况,在我的代码中我使用的是 https://www.googleapis.com/auth/drive,据我所知包括对元数据的访问)。否则文件不存在,也不存在。

我不知道还能尝试什么。这是我的简单 Python 代码:

#GET THE FILES LIST - THIS WORKS PERFECTLY:
theFiles = drive_service.files().list(pageSize=1000,q="trashed=false and mimeType != 'application/vnd.google-apps.folder'",orderBy="quotaBytesUsed desc, name, modifiedTime desc",fields="files(id,name,modifiedTime,quotaBytesUsed,starred,webViewLink, parents)").execute()
dicFiles = theFiles.get('files',[])

#GET METADATA
for item in dicFiles:
    parentID=item.get('parents',[0])

    #HERE I GET THE 404 ERROR
    metadata= drive_service.files().get(fileId=parentID).execute()

错误:

https://www.googleapis.com/drive/v3/files/%5B%271uP0WhJXtjHBSnBb4KS80GexG9P5OLH-p%27%5D?alt=json 返回“找不到文件:['1uP0WhJXtjHBSnBb4KS80GexG9P5OLH-p']。”>

【问题讨论】:

    标签: google-drive-api


    【解决方案1】:

    好的,我找到了问题。

    item.get('parents',[0]) 不是返回一个字符串,而是一个列表。

    我用 item['parents'][0] 替换了它,现在它可以工作了。

    【讨论】:

      猜你喜欢
      • 2016-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-24
      • 2020-07-20
      相关资源
      最近更新 更多