谷歌驱动器连接服务C#

时间:2017-08-07 11:28:24

标签: c# google-drive-api

我在vb.net中创建了一个使用google drive api的应用程序。现在,我想用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 个答案:

答案 0 :(得分: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
        });
    }