Я создал проект webhook с API-интерфейсом Microsoft Graph для контроля входящих сообщений Office 365.Автоматическое обновление для подписки API графиков Microsoft
Я сделал метод UpdateSubscription действий, который обновляет его в течение 3 дней только в соответствии с документацией обеспечить на https://graph.microsoft.io/en-us/docs/api-reference/v1.0/resources/subscription
Ниже приведен фрагмент кода, как I'am облегчения запроса HTTP, чтобы обновить подписку на
AuthenticationResult authResult = await AuthHelper.GetAccessTokenAsync();
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", authResult.AccessToken);
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
// Build the request.
string subscriptionsEndpoint = "https://graph.microsoft.com/v1.0/subscriptions/"+id;
var method = new HttpMethod("PATCH");
HttpRequestMessage request = new HttpRequestMessage(method, subscriptionsEndpoint);
//get the current time
var subscription = new Subscription
{
//Id = id,
ExpirationDateTime = DateTime.UtcNow + new TimeSpan(0, 0, 4230, 0)
};
Есть ли способ автоматического обновления без нажатия кнопки «обновить»?
, так как для заголовков авторизации требуется AuthResult.accessToken, которые потребуют от пользователя входа в учетную запись Office365.
Пожалуйста, советы
Я смог обновить подписку пользователя, извлекая «RefreshToken» из HttpRuntimeCache, который используется для получения токена доступа, используя следующий метод GetAccessTokenFromRefreshTokenAsync. Однако при перезагрузке приложения кеш не будет иметь «RefreshToken». Безопасно ли хранить это в базе данных –