2017-12-03 23 views
0

画像を特定のフォルダにアップロードしたい場合、そのフォルダが存在しない場合は作成し、このフォルダを別のメールアドレスに共有できるようにします。 は、私は以下のコードを使用します。Xamarinが画像をフォルダにアップロードしてフォルダを共有する

   MetadataChangeSet changeSetfile = new MetadataChangeSet.Builder() 

        .SetTitle("Test.jpg") 
        .SetMimeType("image/jpeg") 
        .Build(); 


      MetadataChangeSet changeSetfolder = new MetadataChangeSet.Builder() 
               .SetTitle("New folder") 
               .SetMimeType(DriveFolder.MimeType) 
               .SetStarred(true) 
               .Build(); 

      DriveClass.DriveApi 
      .GetRootFolder(_googleApiClient) 
      .CreateFolder(_googleApiClient, changeSetfile) ; 

      DriveClass.DriveApi 
        .GetRootFolder(_googleApiClient) 
         .CreateFile(_googleApiClient, changeSetfolder, contentResults.DriveContents); 

答えて

0

まず、あなたはフォルダが存在するかどうかを確認する必要があります。このチュートリアルによると - Search files on Google Drive with C#、あなたが使用することができます。ファイル名で

    • 名前のファイルまたは一部の名前を知っている場合だけでなく、あなたが上で検索することができますどのような名。全文は、それはあなたが上で検索することができますもいいです「名前、説明、内容、及びインデックス可能なテキストを含むファイルの全文。」
  • リストはまた、あるディレクトリのみ

    • をファイル1つのタイプのファイルのみを検索することは、あなたのアカウントのすべてのGoogleシートを返すと言いますか?井戸のフォルダがすべて "application/vnd.google-apps.folder"のmimetypeであることがわかっただけの場合は、それを検索することができます。チェックインの際に

それが既存されている場合、IDはparentsパラメータで場所であることを得る:

var folderId = "0BwwA4oUTeiV1TGRPeTVjaWRDY1E"; 
var fileMetadata = new File() 
{ 
    Name = "photo.jpg", 
    Parents = new List<string> 
    { 
     folderId 
    } 
}; 
FilesResource.CreateMediaUpload request; 
using (var stream = new System.IO.FileStream("files/photo.jpg", 
    System.IO.FileMode.Open)) 
{ 
    request = driveService.Files.Create(
     fileMetadata, stream, "image/jpeg"); 
    request.Fields = "id"; 
    request.Upload(); 
} 
var file = request.ResponseBody; 
Console.WriteLine("File ID: " + file.Id); 

・ホープ、このことができます。

関連する問題