GoogleドライブAPI v3を使用して、あるフォルダから別のフォルダにファイルを移動しようとしています。私はこの文書をどのように見つけましたかhere。私は、ドキュメントページから.NETのサンプルコードを使用してこのようになります方法作成:GoogleドライブAPI v3でファイルを移動する
public ActionResult MoveFile(string fileToMove, string destination)
{
DriveService service = new DriveService(new BaseClientService.Initializer
{
HttpClientInitializer = <USER CREDENTIAL>,
ApplicationName = "APPNAME"
});
var searchFiles = service.Files.List();
searchFiles.Corpus = FilesResource.ListRequest.CorpusEnum.User;
searchFiles.Q = "name = '" + fileToMove + "'";
searchFiles.Fields = "files(*)";
string fileToMoveId = searchFiles.Execute().Files[0].Id;
searchFiles.Q = "name = '" + destination + "'";
string destinationId = searchFiles.Execute().Files[0].Id;
//Code used from documentation
// Retrieve the existing parents to remove
var getRequest = service.Files.Get(fileToMoveId);
getRequest.Fields = "parents";
var file = getRequest.Execute();
var previousParents = String.Join(",", file.Parents);
// Move the file to the new folder
var updateRequest = service.Files.Update(file, fileToMoveId);
updateRequest.Fields = "id, parents";
updateRequest.AddParents = destinationId;
updateRequest.RemoveParents = previousParents;
file = updateRequest.Execute();
return RedirectToAction("Files", new {folderId = destinationId});
}
を私は次のエラーを取得するこのコードを実行すると:
The parents field is not directly writable in update requests. Use the addParents and removeParents parameters instead.
をエラーがありませんこのコードサンプルはドキュメンテーションのページそのものから来たものなので、私にとっては本当に意味があります。私は彼らが意味する他のパラメターが何であるか把握できません。 addParentsとremoveParentsのパラメータはどういう意味ですか? updateRequest.AddParents
とupdateRequest.RemoveParents
は正しいパラメータではありませんか?
@DalmTo: 'VAR updateRequest = service.Files.Update(ファイル、fileToMoveId)。 updateRequest.AddParents = destinationId; updateRequest.RemoveParents = previousParents; file = updateRequest.Execute(); ' 残念ながら、同じエラーが発生します。 – MennoB
私の更新を確認してくださいあなたはバグを発見したと思いますが、どこにメッセージが送られてきたのかわかりません。 – DaImTo
使用したサンプルが修正されました。 – DaImTo