尝试在vb.net中使用Google实现oAuth时出错

时间:2015-04-06 08:17:12

标签: asp.net vb.net google-oauth

我正在尝试将使用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'错误。以下是错误的快照。 Error while trying to Login

我已经阅读了很多关于此的文档,并且正如它所暗示的那样,在Google开发人员的控制台中配置重定向URL是一个错误,但就我所关注的问题而言,我认为它已正确配置。以下是我的Google控制台客户端ID的快照。

enter image description here

这是我的请求来源的快照。 enter image description here

如果有人知道并且愿意分享这个问题,我将非常感激,因为这真的让我发疯。

非常感谢

1 个答案:

答案 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和开发人员控制台中相同