【问题标题】:google drive API return insufficient resourcesgoogle drive API返回资源不足
【发布时间】:2018-09-20 07:18:56
【问题描述】:

我现在正在开发一个软件,它可以跟踪 google drive 中的更改并获取每个更改的最后一个修饰符的名称。我通过访问每个文件的修订版并使用 google drive API 从修订版资源中提取“lastModifyingUser”来做到这一点。

但是,我发现返回的修订资源只包含“kind”、“id”、“mimetype”和“modifiedTime”。当我尝试使用 .get('lastModifyingUser') 时,我没有。这很令人困惑。我也尝试使用 .list(),它仍然返回相同的结果。我将在下面附上我的代码,供你们检查可能的问题。

# Call seleted files revisions
revisions = []
for i in range (len(seleted_files_week) - 1):
    try:
        # revisions.append(service.revisions().list(fileId = seleted_files_week[i][3]).execute().get('revisions'))
        revisions.append(service.revisions().get(fileId = seleted_files_week[i][3],revisionId = 1).execute())
    except:
        print("error")
我得到的部分返回值
[{'kind': 'drive#revision', 'id': '1', 'mimeType': 'application/vnd.google-apps.document', 'modifiedTime': '2018-08-16T06:18:41.664Z'}, {'kind': 'drive#revision', 'id': '1', 'mimeType': 'application/vnd.google-apps.document', 'modifiedTime': '2018-09-05T02:11:35.423Z'}]

【问题讨论】:

    标签: google-api google-drive-api google-drive-realtime-api


    【解决方案1】:
    • 您想使用service.revisions().list() 从文件中检索lastModifyingUser

    如果我的理解是正确的,那么这个修改呢?

    修改点:

    • 从您的问题来看,您似乎正在使用 Drive API v3。因此,为了使用service.revisions().list() 从文件中检索lastModifyingUser,它使用revisions/lastModifyingUser 作为fields

    修改脚本:

    请进行如下修改。

    从:
    revisions.append(service.revisions().list(fileId = seleted_files_week[i][3]).execute().get('revisions'))
    
    到:
    revisions.append(service.revisions().list(fileId = seleted_files_week[i][3], fields = "revisions/lastModifyingUser").execute().get('revisions'))
    

    注意:

    • 如果您还想检索其他元数据,请告诉我。

    参考资料:

    如果我误解了你的问题,我很抱歉。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-17
      • 1970-01-01
      • 2014-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多