【发布时间】:2016-09-06 16:53:00
【问题描述】:
我正在尝试使用 ASO .Net 和 C# 编写一个简单的 Web 应用程序,它向用户显示一个带有单个按钮的简单网页。通过单击按钮,用户使用 OAuth2 验证他的 Gmail 帐户,然后页面列出他的未读电子邮件。对于身份验证部分,我使用以下代码:
OAuth2Parameters parameters = new OAuth2Parameters()
{
ClientId = "MY CLIENT ID AS RECEIVED FROM GOOGLE",
ClientSecret = "MT CLIENT CECRET AS RECEIVED FROM GOOGLE",
RedirectUri = "http://localhost:16615/GoogleOAuthCallback.aspx",
Scope = "https://www.googleapis.com/auth/gmail.readonly",
State = "email1",
AccessType = "offline"
};
parameters.AccessCode = Request.QueryString["code"];
Google.GData.Client.OAuthUtil.GetAccessToken(parameters);
GOAuth2RequestFactory requestFactory = new GOAuth2RequestFactory(null, " Web client 1", parameters);
Google.Apis.Auth.OAuth2.Responses.TokenResponse token = new Google.Apis.Auth.OAuth2.Responses.TokenRespons
{
RefreshToken = "??????????????????",
};
UserCredential credential = new UserCredential(new GoogleAuthorizationCodeFlow(new GoogleAuthorizationCodeFlow.Initializer
{
ClientSecrets = new ClientSecrets
{
ClientId = "MY CLIENT ID FROM GOOGLE",
ClientSecret = "MY SECRET FROM GOOGLE",
},
}), "user", token);
// Create Gmail API service.
GmailService service = new GmailService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = “Web client 1”,
});
我不知道如何获取刷新令牌,以及这是否是为我的应用编写代码的正确方法。任何帮助将不胜感激!
【问题讨论】:
标签: .net web-applications oauth-2.0 gmail-api