2017-08-07 44 views
0

我在vb.net中創建一個應用程序,我使用谷歌驅動器API。現在,我想把它轉換成C#中,我使用的轉換程序,我發現在連接服務的錯誤(這是第二次,當我在我的應用程序使用C#) 下面是代碼谷歌驅動器連接服務在C#

private void CreateService() 
    { 
     // change le mot de passe 
     dynamic ClientId = "*************"; 
     dynamic ClientSecret = "****************"; 
     // ClientId et clientSecret sont deux èléments fourni lors du generation d'un projet dans la plateform de google 
     UserCredential MyUserCredential = GoogleWebAuthorizationBroker.AuthorizeAsync(new ClientSecrets 
     { ClientId = ClientId, ClientSecret = ClientSecret },{ DriveService.Scope.Drive }, "user", CancellationToken.None).Result; 
     Service = new DriveService(new BaseClientService.Initializer 
     {HttpClientInitializer = MyUserCredential});} 

錯誤在該指令

{ DriveService.Scope.Drive }, "user", CancellationToken.None).Result; 

他不能接受{},也導致假

回答

1

AuthorizeAsync函數需要爲scope參數數組定義。我試用了Google Drive Nuget包Google.Api.Drive.v1。它沒有定義範圍DriveService.Scope.Drive,所以我將其更改爲DriveService.Scope.DriveFile。如果你使用的是不同版本的Nuget Package,你可能不需要改變它。

這是我改變代碼:

private void CreateService() 
    { 
     // change le mot de passe 
     dynamic ClientId = "*************"; 
     dynamic ClientSecret = "****************"; 

     // ClientId et clientSecret sont deux èléments fourni lors du generation d'un projet dans la plateform de google 
     UserCredential MyUserCredential = GoogleWebAuthorizationBroker.AuthorizeAsync(
      new ClientSecrets 
      { 
       ClientId = ClientId, 
       ClientSecret = ClientSecret 
      }, 
      new[] { DriveService.Scope.DriveFile }, 
      "user", 
      CancellationToken.None).Result; 

     Service = new DriveService(new BaseClientService.Initializer 
     { 
      HttpClientInitializer = MyUserCredential 
     }); 
    } 
+0

感謝你的幫助,它的工作原理 –