Asp.net 交换刷新令牌时发生异常

Asp.net 交换刷新令牌时发生异常,asp.net,oauth,oauth-2.0,google-calendar-api,Asp.net,Oauth,Oauth 2.0,Google Calendar Api,我已经为谷歌日历集成开发了一个应用程序。当我使用日历服务时,我被困在一个地方。请检查下面的代码 private static IAuthorizationState GetAuthorization(NativeApplicationClient arg, String Refreshtoken) { IAuthorizationState state = new AuthorizationState(new[] { CalendarService

我已经为谷歌日历集成开发了一个应用程序。当我使用日历服务时,我被困在一个地方。请检查下面的代码

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;
    try
    {
        if (arg.RefreshToken(state))     // This is calling out to the OAuth servers with the refresh token getting back a session token, returns true if successful.
        {
            if (state.RefreshToken != Refreshtoken) // if the refresh token has changed, save it.
            {
              //save token
            }
            return state; // Retain the authorization state, this is what will authenticate your calls.
        }
    }
    catch (Exception ex)
    {

    }
    return state;
}
我得到的例外是

Exception:
at DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetResponse(HttpWebRequest request,         
DirectWebRequestOptions options) at 
DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetResponse(HttpWebRequest request) at 
DotNetOpenAuth.Messaging.Channel.GetDirectResponse(HttpWebRequest webRequest) at 
DotNetOpenAuth.Messaging.Channel.RequestCore(IDirectedProtocolMessage request) at     
DotNetOpenAuth.Messaging.Channel.Request(IDirectedProtocolMessage requestMessage) at 
DotNetOpenAuth.Messaging.Channel.Request[TResponse](IDirectedProtocolMessage requestMessage) at 
DotNetOpenAuth.OAuth2.ClientBase.RefreshToken(IAuthorizationState authorization, Nullable`1 
skipIfUsefulLifeExceeds) at GoogleCalendarProvider_V3.GetAuthorization(NativeApplicationClient 
arg, String Refreshtoken)

Exception Message:
Error occurred while sending a direct message or getting the response. 

其实我以前也问过同样的问题。但是没有得到正确的答复。实际上,如果我没有执行此arg.RefreshToken(状态)。然后我必须在每次执行代码之前指定service.calendarlist.list()执行。意味着如果我想从日历中获取eventid,那么我必须在执行service.Events.get(eventid.execute()之前运行service.calendarlist.list();我不知道为什么,但它似乎是一个错误。