我需要将本地文件修改日期设置为 Google Drive 中的文件。首先,我尝试使用无效的 drive.file.insert API 进行设置。在 SO 中讨论了可以使用 drive.file.patch API 完成文件修改。下面是我用来更新文件修改日期的代码。但是当我尝试这个时,我得到了错误。
发生错误:Error Domain=com.google.GTLJSONRPCErrorDomain Code=400“操作无法完成。(无效值:无效格式:“2013-09-261T15:09:57Z”格式错误为“1T15:09 :57Z")"
代码:
-(void)updateFileModificationDate:(GTLDriveFile*)file
{
NSDate *currentDate = [NSDate date];
NSDateFormatter *rfc3339DateFormatter = [[NSDateFormatter alloc] init];
[rfc3339DateFormatter setDateFormat:@"YYYY-MM-DD HH:MM:SS +HHMM"];
file.modifiedDate = [GTLDateTime dateTimeWithRFC3339String:[rfc3339DateFormatter stringFromDate:currentDate]];
GTLQueryDrive *getQuery =
[GTLQueryDrive queryForFilesPatchWithObject:file fileId:file.identifier];
getQuery.setModifiedDate = YES;
[self.driveService executeQuery:getQuery completionHandler:^(GTLServiceTicket *ticket, GTLDriveFile* object, NSError *error) {
if (error != nil) {
NSLog(@"An error occurred: %@", error);
}
else
{
NSLog(@"New file mod date:%@",object.modifiedDate);
}
}];
}
请帮我找出正确的日期格式。如果答案在 Objective-C 中,将不胜感激。
编辑
另一个问题是,无论我们设置哪种格式日期,Drive SDK 都应在 API 调用期间处理将其转换为所需格式。似乎它并没有发生。它是 Google Drive Objective-c SDK 的缺陷吗?
谢谢。