1

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;
}
4

1 に答える 1