2011-06-07 22 views
10

Estoy tratando de hacer que el sitio sea twitter oAuth con twitterizer, pero no puedo.El servidor remoto devolvió un error: (401) No autorizado. Twitter oAuth

estoy consiguiendo el error siguiente:

The remote server returned an error: (401) Unauthorized.

Cuando mi URL de devolución de llamada es un host local.

Si mi url de devolución de llamada es obsoleto, para el flujo de pin funciona correctamente.

Aquí está mi código:

public ActionResult LogOn(string returnUrl, bool? perm) 
    { 
     string consumerKeyTw = @"UF3F72XqfGShQs7juKMApA"; 
     string consumerSecretTW = "secret"; 
     OAuthTokenResponse requestToken = OAuthUtility.GetRequestToken(consumerKeyTw, consumerSecretTW, "http://localhost:58892/Twitterr/OAuth"); 

     // Direct or instruct the user to the following address: 
     Uri authorizationUri = OAuthUtility.BuildAuthorizationUri(requestToken.Token); 

     return new RedirectResult(authorizationUri.ToString(), false); 
    } 

nunca consigo el token cuando la configuración de la URL de devolución de llamada. En twitter, registro mi callback url localhost.

¿Me falta algo?

¿Alguna idea de qué está pasando?

Respuesta

9

Asegúrese de que su aplicación esté configurada como una aplicación web en el development portal. Para la dirección de devolución de llamada allí, asegúrese de utilizar una dirección incorrecta (como la página de inicio de su aplicación), luego especifique la dirección real en tiempo de ejecución.

Las aplicaciones web pueden usar autenticación basada en PIN, pero las aplicaciones de escritorio no pueden usar el flujo web.

+0

Gracias fue eso! ¡Me siento tonto! Gracias – elranu

+0

Es algo muy común, así que no te sientas mal. :) –

+0

Lo he intentado pero no tuve suerte – Sajith

7

Tuve el mismo problema y lo solucioné agregando una "URL de devolución de llamada" en la página de configuración de la aplicación de Twitter. Todavía no tenía mi nombre de dominio, así que simplemente agregué un nombre de dominio no utilizado como: http://www.website.com. La llamada de solicitud de Twitterizer comenzó a funcionar inmediatamente para mí.

Fissh

Cuestiones relacionadas