2012-03-30 20 views
1

Ich versuche Google Kalender API V3 zu verwenden, um meinen Kalender zu aktualisieren. Ich möchte die Ereignisse meines Kalenders aus dem C# -Code abrufen. Ich verwende. Net-Bibliothek für Google Kalender API V3.Google Kalender API V3

Ich bin nicht in der Lage meine Anfrage aus irgendeinem Grund zu genehmigen. Ich habe versucht, den verfügbaren Codebeispielen zu folgen, aber vergebens. Im Anschluss ist mein Code-Schnipsel, die ich meine Anfrage bin mit genehmigen:

private void GetEvents() 
    { 
     var provider = new NativeApplicationClient(GoogleAuthenticationServer.Description,MyClientId, MySecurityId); 
     var auth = new OAuth2Authenticator<NativeApplicationClient>(provider, GetAuthorization); 

     CalendarService myService = new CalendarService(auth); 
     try 
     { 
      Events result = myService.Events.List(MyCalendarId).Fetch(); 

      if (result.Items.Count > 0) 
      { 
      } 
     } 
     catch (Google.GoogleApiRequestException ex) 
     { 
      //throw ex; 
     } 
    } 

    private static IAuthorizationState GetAuthorization(NativeApplicationClient arg) 
    { 
     IAuthorizationState state = new AuthorizationState(new[] { "https://www.googleapis.com/auth/calendar.readonly" }); 

     state.Callback = new Uri(NativeApplicationClient.OutOfBandCallbackUrl);   

     if (!string.IsNullOrEmpty(refreshToken)) // refreshToken you stored in step 4 
     { 
      try 
      { 
       state.RefreshToken = refreshToken; 
       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. 
        { 
         //PersistRefreshToken(authorization.RefreshToken); 
        } 
        return state; // Retain the authorization state, this is what will authenticate your calls. 
       } 
      } 
      catch (ProtocolException ex) { throw ex; } 
     } 
     return state; 
    } 

ich diese Ausnahme an, wenn if (arg.RefreshToken(state)) ausgeführt wird:

Protokoll Ausnahme Fehler beim einer direkten Nachricht senden oder

bekommen die Antwort.

Bitte helfen !!!

+0

Werfen Sie einen Blick auf diesen Beitrag hier und sehen, ob es hilft Ihnen bei allen aus. http://stackoverflow.com/questions/8899000/c-sharp-google-calendar-v3-2-leg-authentification-fails – HK1

Antwort

0

Verwenden Sie diese auf Webserver oder in einer nativen Anwendung? Dieser Code, den Sie haben, ist nur für eine native Anwendung, also könnte das Ihr Ärger sein.