我已经使用Microsoft Graph API创建webhook项目来监视Office 365收件箱。自动更新到Microsoft Graph API订阅
我制成,其更新它3天仅作为根据本文档的UpdateSubscription动作方法提供https://graph.microsoft.io/en-us/docs/api-reference/v1.0/resources/subscription
下面是我'如何促进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帐户。
请指点
我能够通过从HttpRuntimeCache中检索'RefreshToken'来更新用户的订阅,该RefreshToken用于使用以下方法获取访问令牌GetAccessTokenFromRefreshTokenAsync。然而,在执行应用程序重启时,缓存将不会有'RefreshToken'。将它存储在数据库中是否安全? –