如何从asp.net中gmailapi中的刷新令牌中获取访问令牌



我使用oAuth 2.0对gmail api v1进行身份验证,并获取访问令牌和刷新令牌,但如何使用刷新令牌获取访问令牌。

UserCredential credential;
credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
       new ClientSecrets
       {
          ClientId = "my client id",
          ClientSecret = "my client secret"
       },
       new[] { GmailService.Scope.GmailSend },
       "user",
       CancellationToken.None).Result;
// Create Gmail API service.
var service = new GmailService(new BaseClientService.Initializer()
{
   HttpClientInitializer = credential,
   ApplicationName = ApplicationName,
});
string RefreshToken = credential.Token.RefreshToken;

Google.Net客户端库为您处理所有这些。一旦您使用服务发出第一个请求,它将使用刷新令牌请求访问令牌。

Anwser:如果需要,向Gmail API发出一个简单的请求,将获取访问令牌。

我不知道如何使用.Net库。要手动操作,

"client_secret="+[ClientSecret]+"&grant_type=refresh_token"+"&aamp;refresh_taken="+[RefreshToken]+"&client_id="+[CClientID]

收件人https://www.googleapis.com/oauth2/v3/token

您需要将方括号中的数据替换为您的详细信息

工作代码

string[] scopes = new string[] { "https://mail.google.com/" };
UserCredential credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
         new ClientSecrets
         {
            ClientId = "my client id",
            ClientSecret = "my client secret"
         },
         scopes,
        "user",
         CancellationToken.None).Result;
string RefreshToken = credential.Token.RefreshToken;//you will get Refreshtoken

相关内容

  • 没有找到相关文章

最新更新