2017-08-07 3 views
0

Je crée une application sur vb.net dans laquelle j'utilise google drive api. Maintenant, je veux le convertir en C#, je l'ai utilisé le programme de conversion et j'ai trouvé l'erreur dans le service de connexion (ce qui est une deuxième fois lorsque j'utilise C# dans mes applications) Voici le codeservice google drive connect en 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});} 

les erreurs dans cette instruction

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

il ne peut pas accepter {}, et le résultat aussi est faux

Répondre

1

la fonction AuthorizeAsync attend une définition de tableau pour le paramètre scope. Je l'ai essayé avec le paquet Google Drive Nuget Google.Api.Drive.v1. Il n'a pas défini la portée DriveService.Scope.Drive, donc j'ai changé cela en DriveService.Scope.DriveFile. Si vous utilisez une version différente du paquet Nuget, vous n'aurez peut-être pas besoin de le changer.

Ce code avec mes changements:

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

merci pour votre aide, cela fonctionne –