#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 проверьте эту часть документации.