correcciones ObtenerAccessTokenAsync
This commit is contained in:
@@ -6,18 +6,29 @@ using System.Threading.Tasks;
|
||||
|
||||
public static class GmailTokenManager
|
||||
{
|
||||
public static async Task<string> ObtenerAccessTokenAsync(GmailConfig config)
|
||||
{
|
||||
//var stream = new FileStream(config.ClientSecretPath, FileMode.Open, FileAccess.Read);
|
||||
var stream = new MemoryStream(config.ClientSecret);
|
||||
//public static async Task<string> ObtenerAccessTokenAsync(GmailConfig config)
|
||||
//{
|
||||
// var stream = new MemoryStream(config.ClientSecret);
|
||||
|
||||
// var credencial = await GoogleWebAuthorizationBroker.AuthorizeAsync(
|
||||
// GoogleClientSecrets.FromStream(stream).Secrets,
|
||||
// new[] { "https://www.googleapis.com/auth/gmail.send" },
|
||||
// new[] { "https://mail.google.com/" },
|
||||
// config.Usuario,
|
||||
// CancellationToken.None,
|
||||
// new FileDataStore(config.TokenFolder, true)
|
||||
// );
|
||||
|
||||
// return await credencial.GetAccessTokenForRequestAsync();
|
||||
//}
|
||||
private static readonly SemaphoreSlim _tokenSemaphore = new SemaphoreSlim(1, 1);
|
||||
|
||||
public static async Task<string> ObtenerAccessTokenAsync(GmailConfig config)
|
||||
{
|
||||
var stream = new MemoryStream(config.ClientSecret);
|
||||
|
||||
await _tokenSemaphore.WaitAsync();
|
||||
try
|
||||
{
|
||||
var credencial = await GoogleWebAuthorizationBroker.AuthorizeAsync(
|
||||
GoogleClientSecrets.FromStream(stream).Secrets,
|
||||
new[] { "https://mail.google.com/" },
|
||||
@@ -28,4 +39,9 @@ public static class GmailTokenManager
|
||||
|
||||
return await credencial.GetAccessTokenForRequestAsync();
|
||||
}
|
||||
finally
|
||||
{
|
||||
_tokenSemaphore.Release();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user