OAuth google Api возвращает null .NET

#asp.net-mvc #google-api #google-drive-api #google-oauth

#asp.net-mvc #google-api #google-drive-api #google-oauth

Вопрос:

Я использовал GoogleWebAuthorizationBroker, но после публикации он не работал, я изменил на GoogleAuthorizationCodeFlow, но я получаю нулевой ответ токена

 public static Google.Apis.Drive.v3.DriveService GetService()
    {

        var flow = new GoogleAuthorizationCodeFlow(new GoogleAuthorizationCodeFlow.Initializer
        {
            ClientSecrets = new ClientSecrets
            {
                ClientId = "-----",
                ClientSecret = "----"
            },
            Scopes = new[] { Google.Apis.Drive.v3.DriveService.Scope.DriveReadonly, "email" },
            DataStore = new FileDataStore(Path.Combine(System.Web.Hosting.HostingEnvironment.MapPath("/"), "DriveServiceCredentials.json"), true)
        });
        TokenResponse token = flow.LoadTokenAsync("user", CancellationToken.None).Resu<       
            
              UserCredential credential = new UserCredential(flow, "user", token);
              
                Google.Apis.Drive.v3.DriveService service = new Google.Apis.Drive.v3.DriveService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = credential,
                ApplicationName = "GoogleDriveRestAPI-v3",
            });   
  return service; 
    }
  

введите описание изображения здесь

Комментарии:

1. любое решение ….?

2. Есть ли у вас credentials.json файл в нужном каталоге для доступа? У вас есть сгенерированный token файл? Если да, не могли бы вы удалить его, чтобы узнать, можно ли успешно сгенерировать новый токен? Вы следовали этому руководству для авторизации?

3. Да, у меня есть файл credentials.json в нужном каталоге

4. Я обновляю код

Ответ №1:

Для реализации вашей реализации OAuth 2.0 в вашем веб-приложении ASP .NET, пожалуйста, выполните действия, описанные здесь . Учитывая, что вы успешно создали свои учетные данные, вам просто нужно будет настроить свои FlowMetadata , как описано в примере, представленном в документации (также учитывая, что вы включили соответствующие пакеты для своего приложения).

Пожалуйста, обратите внимание, что в этой реализации он использует Client ID и Client Secret , а не использует credentials.json файл для аутентификации. Для получения дополнительной информации об обработке учетных данных пользователя в ASP .NET проверьте эту часть документации.