OAuth2 によるリフレッシュ トークン生成の有効期限を教えてください。実際には通常、アクセス トークンとリフレッシュ トークンの 2 つのパラメータが返されます。アクセス トークンの有効期限が切れた場合に新しいアクセス トークンを生成するために、リフレッシュ トークンを使用しました。しかし、Google カレンダー バージョン 3 では、カレンダー API を呼び出すために更新トークンを使用しています。しかし、ここでトークンの有効期限が切れるという問題が発生しています。トークンの有効期限が切れたときに何ができるか教えてください。私によると、更新トークンの有効期限はありません。リフレッシュ トークンを使用してカレンダー サービスを作成するには、以下のコードを確認してください。
private CalendarService CreateService(string token)
{
KeyValuePair<string, string> credentials = Common.Get3LOCredentials();
var provider = new NativeApplicationClient(GoogleAuthenticationServer.Description);
provider.ClientIdentifier = credentials.Key;
provider.ClientSecret = credentials.Value;
var auth = new Google.Apis.Authentication.OAuth2.OAuth2Authenticator<NativeApplicationClient>(provider, (p) => GetAuthorization(provider, token));
CalendarService service = new CalendarService(new BaseClientService.Initializer()
{
Authenticator = auth,
ApiKey = ConfigurationManager.AppSettings["APIkey"].ToString(),
GZipEnabled = false
});
return service;
}
private static IAuthorizationState GetAuthorization(NativeApplicationClient arg, String Refreshtoken)
{
IAuthorizationState state = new AuthorizationState(new[] { CalendarService.Scopes.Calendar.GetStringValue() });
state.Callback = new Uri(NativeApplicationClient.OutOfBandCallbackUrl);
state.RefreshToken = Refreshtoken;
return state;
}