GTLRDrive_File对象缺少modifiedTime和createdTime属性

时间:2018-04-04 04:16:32

标签: ios swift google-drive-api google-api-client

我正在使用Google API Client for REST Swift SDK,并且我尝试从包含modifiedTime的API响应中解析createdTimeGTLRDrive_File对象。

但他们似乎不在那里?以下是我从po file获得的有效负载示例:

GTLRDrive_File 0x60c00084eb20: {
    mimeType:"audio/mpeg"     
    id:"1xt8eqYit3tOrZUeuG9V7_dsq60Iq9xVC" 
    kind:"drive#file" 
    name:"Lobo_Loco_-_15_-_Save_the_Bees_ID_817 (2).mp3" 
}

发生了什么?我不希望这些属性是可选的吗?

这是我在查询后用来循环的代码:

if let files = result.files as? [GTLRDrive_File] {
    for file in files {
        print(file.modifiedTime, file.createdTime)
    }
}

(当然两者都是零)。

如何从GTLRDrive_File

获取修改/创建日期

1 个答案:

答案 0 :(得分:1)

如果请求(file.list等)成功createdTimemodifiedTime可以在Drive File Resource中找到,可以通过首先访问'files'对象来访问。< / p>

所以,如果你去Try-it

使用files(createdTime)作为'field'属性中的参数,它将返回这些字段。 (使用files.list作为示例)。

在iOS SDK中,只需:

let query = GTLRDriveQuery_FilesList.query()
query.fields = "files(createdTime,modifiedTime)"

会奏效。