2017-04-01 104 views
0

有没有办法让我通过Drive API检索校验和?谷歌驱动器校验和

This answer通过文档“试试”功能,它有一个可怕的界面。

如何通过.NET(C#)Google Drive API执行此操作? 或者,我如何使用我自己的帖子/获取请求来做到这一点?

回答

1

尝试.NET Quickstart,因为它的基本列表文件方法。

using Google.Apis.Auth.OAuth2; 
using Google.Apis.Drive.v3; 
using Google.Apis.Drive.v3.Data; 
using Google.Apis.Services; 
using Google.Apis.Util.Store; 
using System; 
using System.Collections.Generic; 
using System.IO; 
using System.Linq; 
using System.Text; 
using System.Threading; 
using System.Threading.Tasks; 

namespace DriveQuickstart 
{ 
    class Program 
    { 
     // If modifying these scopes, delete your previously saved credentials 
     // at ~/.credentials/drive-dotnet-quickstart.json 
     static string[] Scopes = { DriveService.Scope.DriveReadonly }; 
     static string ApplicationName = "Drive API .NET Quickstart"; 

     static void Main(string[] args) 
     { 
      UserCredential credential; 

      using (var stream = 
       new FileStream("client_secret.json", FileMode.Open, FileAccess.Read)) 
      { 
       string credPath = System.Environment.GetFolderPath(
        System.Environment.SpecialFolder.Personal); 
       credPath = Path.Combine(credPath, ".credentials/drive-dotnet-quickstart.json"); 

       credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
        GoogleClientSecrets.Load(stream).Secrets, 
        Scopes, 
        "user", 
        CancellationToken.None, 
        new FileDataStore(credPath, true)).Result; 
       Console.WriteLine("Credential file saved to: " + credPath); 
      } 

      // Create Drive API service. 
      var service = new DriveService(new BaseClientService.Initializer() 
       { 
        HttpClientInitializer = credential, 
        ApplicationName = ApplicationName, 
       }); 

      // Define parameters of request. 
      FilesResource.ListRequest listRequest = service.Files.List(); 
      listRequest.PageSize = 10; 
      listRequest.Fields = "nextPageToken, files(id, name)"; 

      // List files. 
      IList<Google.Apis.Drive.v3.Data.File> files = listRequest.Execute() 
       .Files; 
      Console.WriteLine("Files:"); 
      if (files != null && files.Count > 0) 
      { 
       foreach (var file in files) 
       { 
        Console.WriteLine("{0} ({1})", file.Name, file.Id); 
       } 
      } 
      else 
      { 
       Console.WriteLine("No files found."); 
      } 
      Console.Read(); 

     } 
    } 
} 

    } 
} 

编辑这一行:

listRequest.Fields = "nextPageToken, files(id, name)"; 

要:

listRequest.Fields = "nextPageToken, files(id, name, md5Checksum)"; 

从上面的链接的解决方案是正确的,试试吧功能将帮助您熟悉每一种方法以及如何响应和请求形成。

希望这会有所帮助。

+1

谢谢,我结束了如何去做。 – Tobiq