Google Web应用程序中的Google用户令牌和授权代码

时间:2016-04-09 21:00:36

标签: javascript asp.net google-api xmlhttprequest google-api-dotnet-client

您好我正在尝试创建一个可以读取用户电子邮件的Web应用程序,即使它们未连接到该网站也是如此。我按照Google Sign-In for Websites中的步骤进行操作,并制作了一个javascript登录页面,最后给了我一个授权码,在步骤7中,他们告诉您通过将访问令牌发送到访问令牌来交换授权码。服务器通过xmlhttprequest。我的问题是我不知道如何将代码发送到服务器端,即使我不知道如何使用它来刷新令牌或获取asp中的用户数据,我搜索了如何使用DotNetOpenAuth但我找不到帮助我解决问题的教程。

1 个答案:

答案 0 :(得分:0)

嗨,你可以这样做:

IAuthorizationCodeFlow flow = 
new GoogleAuthorizationCodeFlow(newGoogleAuthorizationCodeFlow.Initializer
        ClientSecrets = new ClientSecrets
{
    ClientId = "yourClientId",
    ClientSecret = "yourClientSecret"

});
TokenResponse response = flow.ExchangeCodeForTokenAsync("", "authorization_code_you_generated_in_client", "postmessage", CancellationToken.None).Result;

这应该为您提供访问令牌。 只有在javascript请求中指定了"access_type" : "offline"时,才会获得刷新令牌。 您可能还想使用"approval_prompt" : "force"再次获取refresh_token。