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