私はiosで(私には明らかではありませんが)uploadParametersで標準のqueryForFilesInsertWithObjectを使用してGoogleドライブフォルダーにファイルを挿入し、GTLDriveParentReferenceオブジェクトでフォルダーIDを設定し、そのオブジェクトを配列に追加し、その配列をに割り当てる方法を見つけましたアップロードされたファイルの「親」プロパティ。私がまだ理解していないのは、複製を作成せずに、既存の Google ドライブ ファイルを新しいバージョンで上書きする方法です。また、新しくアップロードされた Google ドライブ ファイルに、ローカル デバイス ファイルと同じ日時スタンプを付けたいと考えています。file/update メソッドを使用して file.modifiedDate と query.setModifiedDate=YES を設定しようとすると、常に 400 Bad Request が返されます。
patch を使用してタイトルを変更することはできますが、api を使用して modifiedDate を設定することはできません。Google の Try it! を使用して modifiedDate を変更できました。APIs Explorer で、Google のサーバーは正常に動作しています。失敗するコードは次のとおりです。
GTLDriveFile *file = [GTLDriveFile object];
NSString *fId = insertedFile.identifier;
file.title = @"Tony.jpg";
file.modifiedDate = myNewGoogleDate; // "2012-12-31T08:00:00+00:00"
GTLQueryDrive *qu = [GTLQueryDrive queryForFilesPatchWithObject:file fileId:fId];
qu.setModifiedDate = YES;
[service executeQuery:qu completionHandler:^(GTLServiceTicket *ticket,...
modifiedDate の 2 行を削除すると、google-drive ファイルのタイトルが適切に変更されます。executeQuery への API 呼び出しをトレースしたところ、次の結果が "DataToPost" であることがわかりました。
{"method":"drive.files.patch","id":"gtl_7","jsonrpc":"2.0",
"params": {"setModifiedDate":true,"resource":
{"modifiedDate":"2012-12-31T08:00:00+00:00",
"title":"Tony.jpg"},"fileId":"0BxRlXPR_hfR9OEJSdDdyQjkyaE0"},"apiVersion":"v2"}
この投稿で「Bad Request」を見た人はいますか? executeQuery から返されるエラーは次のとおりです。
Error Domain=com.google.GTLJSONRPCErrorDomain Code=400 "The operation couldn’t be
completed. (Bad Request)" UserInfo=0x80724b0 {error=Bad Request,
GTLStructuredError=GTLErrorObject 0x806a7a0: {message:"Bad Request" code:400 data:[1]},
NSLocalizedFailureReason=(Bad Request)}
機能する modifiedDate を設定するコードを誰かが持っていますか?