我在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;
他不能接受{},结果也是假的
答案 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
});
}