我正在尝试将使用Google登录实施到我在vb.net中开发的基于Web的应用程序中。我正在使用带有Telerik控件的VS2013。遗憾的是,vb.net没有有用的示例, Google 本身似乎不愿意为vb.net添加一个。我有一个登录按钮,允许用户通过他们现有的Google帐户登录我的应用程序。以下是相同的代码。
Protected Sub btnLogin_Click(sender As Object, e As EventArgs) Handles btnLogin.Click
Dim clientID As String = "xxxxxxxxxxxxxxxxx.apps.googleusercontent.com"
Dim clientSecret As String = "xxxxxxxxxxxxxxxx"
Dim scopes As String() = New String() {Google.Apis.Plus.v1.PlusService.Scope.UserinfoEmail}
Dim credential As UserCredential
credential = GoogleWebAuthorizationBroker.AuthorizeAsync(New ClientSecrets() With {.ClientId = clientID, .ClientSecret = clientSecret}, scopes, "user", CancellationToken.None, New FileDataStore("Drive.Auth.Store")).Result
End Sub
尽管仔细检查了所有内容,我仍然收到'redirect_uri_mismatch'错误。以下是错误的快照。
我已经阅读了很多关于此的文档,并且正如它所暗示的那样,在Google开发人员的控制台中配置重定向URL是一个错误,但就我所关注的问题而言,我认为它已正确配置。以下是我的Google控制台客户端ID的快照。
这是我的请求来源的快照。
如果有人知道并且愿意分享这个问题,我将非常感激,因为这真的让我发疯。
非常感谢
答案 0 :(得分:0)
您可以调用以下身份验证网址,我用于Calender API
Dim Uri As String = "https://accounts.google.com/o/oauth2/auth?access_type=offline&response_type=code&client_id=" & clientId & "&redirect_uri=" & redirecturi & "&scope=https://www.googleapis.com/auth/calendar&login_hint=" & mainUser & "&include_granted_scopes=true"
Response.Redirect(Uri)
您必须为:
提供适当的值的clientId,mainUser,redirecturi。哪里,
mainUser
是用于身份验证的邮件ID,
redirecturi
是我们处理响应的网站/网页的URI。它必须在传递的URL和开发人员控制台中相同