Я здесь новый. Простите меня, если есть какие-то правила, за которыми я не следил, и не стесняйтесь сообщить мне об этом.Google Calendar apis V3 - образец кода OAuth2.0 в VB.NET
У меня возникла проблема с аутентификацией OAuth2.0 при использовании Google Calendar apis V3.
Вот код.
Sub Main()
Dim secret As New ClientSecrets
secret.ClientId = "XXXXXXXXXX.apps.googleusercontent.com"
secret.ClientSecret = "XXXXXXXXXXXXXX"
Dim init As New Flows.AuthorizationCodeFlow.Initializer("https://accounts.google.com/o/oauth2/auth", "https://accounts.google.com/o/oauth2/token")
init.ClientSecrets = secret
Dim flow As New Flows.AuthorizationCodeFlow(init)
Dim token As Responses.TokenResponse = flow.LoadTokenAsync("[email protected]", CancellationToken.None).Result
Dim credential As New UserCredential(flow, "[email protected]", token)
Try
credential = GoogleWebAuthorizationBroker.AuthorizeAsync(secret, {CalendarService.Scope.Calendar}, "user", CancellationToken.None,).Result
Catch ex As Exception
MsgBox(ex.Message)
End Try
Он может успешно всплывать журнал Google в интерфейсе
Однако он появляется сообщение об ошибке «Error: redirect_uri_mismatch»
Это странно, что я уже настроить учетную Перенаправление URL, который
http://localhost:8080/
в Google Developers Console
Но деталь ошибки msg показывает, что URL-адрес переадресации не тот, который я задал, и продолжаю изменять номер порта локального хоста.
Я думаю, что проблема приходит от линии ниже
Dim token As Responses.TokenResponse = flow.LoadTokenAsync("[email protected]", CancellationToken.None).Result
Что-то мне не хватает понимания или какой-либо параметр я его потерял?
Цените, если кто-нибудь может это помочь.
Вы нашли ответ на этот вопрос? Я также сталкиваюсь с той же проблемой. –
Я думаю, что это неправильно в настройке URL-адреса переадресации, который не может быть локальным сайтом. Я предлагаю вам использовать некоторый URL-адрес, доступный из внешней сети. – Jamie
Во-вторых, я также использую другой код для замены раздела «Кодовая биржа», например, ниже 'token = flow.ExchangeCodeForTokenAsync (« пользователь », код, strUri, CancellationToken.None) .Result' – Jamie