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

时间:2016-05-03 10:28:52

标签: c# google-api gmail google-oauth google-api-dotnet-client

我使用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;

2 个答案:

答案 0 :(得分:1)

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

Anwser:如果需要,向Gmail API发出简单请求即可获取访问令牌。

答案 1 :(得分:0)

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

POST

“client_secret =”+ [ClientSecret] +“& grant_type = refresh_token”+“& refresh_token =”+ [RefreshToken] +“& client_id =”+ [ClientID]

https://www.googleapis.com/oauth2/v3/token

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