c# asp.net-mvc-3 oauth oauth-2.0 google-calendar

c# - No se pudo cargar el tipo ''Google.Apis.Requests.IErrorResponseHandler'' del ensamblado ''Google.Apis''



asp.net-mvc-3 oauth (2)

Soy Google Auth api Calendar en .net. He copiado el código de este enlace: Actualizar el tiempo de vencimiento del token Calendario de Google No se pudo cargar el tipo ''Google.Apis.Requests.IErrorResponseHandler'' del ensamblado ''Google.Apis, Versión = 1.6.0.16897, Cultura = neutral, PublicKeyToken = null''

Aquí está mi código:

private CalendarService CreateService(string token) { //KeyValuePair<string, string> credentials = Ninject.Web.Common.Get3LOCredentials(); var provider = new NativeApplicationClient(GoogleAuthenticationServer.Description, this.clientID, this.ClientSecret); //provider.ClientIdentifier = clientID; //provider.ClientSecret = clientSecret; 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[this.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; }


¿Usaste el administrador de paquetes para instalar la API?

Más adelante, ¿va a solicitar acceso cada vez o desea guardar el refreshtoken para poder obtener un token de acceso no caducado cuando realiza las siguientes llamadas?


Resolví este problema desinstalando y reinstalando el paquete NuGet "google.apis.auth". Esto fue porque hay múltiples versiones instaladas.

  1. Haga clic derecho en el menú "Referencias" del proyecto. Elimine manualmente todas las referencias de paquetes relacionadas con google.apis.auth.

  2. Luego, seleccione "Administrar paquete NuGet", busque "google.apis.auth" y desinstale "google.apis.auth".

  3. Reinstale el mismo paquete.

  4. Limpiar y reconstruir

Si no funciona, puede intentar reinstalar "google.apis" también.