Verificar OAuth Token en Twitter
verification (4)
Estoy almacenando la información de Twitter en una cookie Flash después de que el usuario pasa por el proceso de navegación. Twitter dice que este token solo debe expirar si Twitter o el usuario revoca el acceso a la aplicación.
¿Puedo hacer una llamada a Twitter para verificar que mi token almacenado no ha sido revocado?
Al depurar manualmente:
curl /
--insecure https://api.twitter.com/1/account/verify_credentials.json?oauth_access_token=YOUR_TOKEN
Esta pregunta puede ser vieja, pero esta es para los googlers (como yo).
Aquí está la llamada a twitter usando Hammock:
RestClient rc = new RestClient {Method = WebMethod.Get};
RestRequest rr = new RestRequest();
rr.Path = "https://api.twitter.com/1/account/verify_credentials.json";
rc.Credentials = new OAuthCredentials
{
ConsumerKey = /* put your key here */,
ConsumerSecret = /* put your secret here */,
Token = /* user access token */,
TokenSecret = /* user access secret */,
Type = OAuthType.AccessToken
};
rc.BeginRequest(rr, IsTokenValid);
Aquí está la respuesta:
public void IsTokenValid(RestRequest request, RestResponse response, object userState)
{
if(response.StatusCode == HttpStatusCode.OK)
{
var user = userState;
Helper.SaveSetting(Constants.TwitterAccess, user);
}
else
{
Dispatcher.BeginInvoke(() => MessageBox.Show("This application is no longer authenticated "))
}
}
Siempre tomo prestadas las soluciones de SO, este es mi primer intento de retribución, aunque bastante tarde para la pregunta.
Estoy usando la API de TwitterOAuth y aquí está el código basado en la respuesta aceptada.
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $twitter_oauth_token, $twitter_oauth_secret);
$content = $connection->get("account/verify_credentials");
if($connection->getLastHttpCode() == 200):
// Connection works fine.
else:
// Not working
endif;
Todos los métodos de API que requieren autenticación fallarán si el token de acceso caduca. Sin embargo, el método específico para verificar quién es el usuario y que el token de acceso aún es válido es GET account / verify_credentials