Microsoft Graph APIを使用してOffice 365の受信トレイを監視するwebhookプロジェクトを作成しました。私はマニュアルに従ってとして3日間のためにそれを更新UpdateSubscriptionアクションメソッドがhttps://graph.microsoft.io/en-us/docs/api-reference/v1.0/resources/subscription以下Microsoft Graph APIサブスクリプションへの自動更新
に提供作ら
は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)
};
ユーザーがボタンを押して「更新」せずに自動更新する方法はありますか?
認証ヘッダーには、ユーザーがOffice365アカウントにサインインする必要があるAuthResult.accessTokenが必要なためです。
次のGetAccessTokenFromRefreshTokenAsyncメソッドを使用してアクセストークンを取得するために使用されるHttpRuntimeCacheから 'RefreshToken'を取得することによって、ユーザーのサブスクリプションを更新できました。しかし、アプリケーションを再起動すると、キャッシュは 'RefreshToken'を持ちません。これをデータベースに保存するのは安全ですか? –