2017-05-14 70 views
0

在閱讀Gdrive.v3 SDK中Google上的遷移信息後:#https://developers.google.com/drive/v3/web/migration,我仍然不確定如何設置ParentReference(根目錄文件夾)爲正確的文件。在C#.Net中將Google Drive Apis v2的ParentReference移植到v3中

private string UploadToGDrive(Google.Apis.Drive.v3.DriveService service, string uploadFile, string parent) 
{ 
    var body = new Google.Apis.Drive.v3.Data.File 
    { 
     Name = Path.GetFileName(uploadFile), 
     Description = uploadFile, 
     MimeType = GetMimeType(uploadFile), 
     Parents = new List<ParentReference> {new ParentReference {Id = parent}} 
    }; 
} 

private string GetMimeType(string fileName) 
{ 
    var mimeType = "application/unknown"; 
    var extension = Path.GetExtension(fileName); 
    if (extension == null) return mimeType; 
    var ext = extension.ToLower(); 
    var regKey = Registry.ClassesRoot.OpenSubKey(ext); 
    if (regKey?.GetValue("Content Type") != null) return mimeType; 
    if (regKey != null) mimeType = regKey.GetValue("Content Type").ToString(); 
    return mimeType; 
} 

回答

1

正如文件中指出 - Inserting a file in a folder:目前在V2這是通過做

插入一個文件中的特定文件夾,在文件的parents屬性指定正確的ID,如圖所示:

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); 

希望這有助於。

0

我必須有監督這個......它只是意味着在我的情況,以取代

var body = new Google.Apis.Drive.v3.Data.File 
{ 
    Name = Path.GetFileName(uploadFile), 
    Description = uploadFile, 
    MimeType = GetMimeType(uploadFile), 
    Parents = new List<ParentReference> {new ParentReference {Id = parent}} 
}; 

var body = new Google.Apis.Drive.v3.Data.File 
{ 
    Name = Path.GetFileName(uploadFile), 
    Description = uploadFile, 
    MimeType = GetMimeType(uploadFile), 
    Parents = new List<string> {parent} 
}; 

(我已經添加了這是一個答案,因爲它是長一條評論)。