oauth_token - twitter developers api
401 no autorizado para https://api.twitter.com/oauth/request_token (1)
¿Has intentado codificar el carácter ''igual'' (=) en tu firma? es decir
oauth_signature="2ZNWTvzEmSix1G8PGImDxVKulFY%3D"
Siempre debe codificar en porcentaje la firma después de calcularla.
Intento solicitar un token a través de https://api.twitter.com/oauth/request_token, pero siempre aparece un error 401.
Hago mis pruebas a través de curl (fácil de ver lo que sucede).
Aquí hay un ejemplo de solicitud:
curl --request ''POST'' '' https://api.twitter.com/oauth/request_token '' --header ''Autorización: OAuth oauth_callback = "http% 3A% 2F% 2Fwww.domain.tld% 2Fblank.html", oauth_consumer_key = "cmGkcMsffqJlmra6RD1gw", oauth_nonce = "hj05psxq62tx1PAe3V", oauth_signature = "2ZNWTvzEmSix1G8PGImDxVKulFY =", oauth_signature_method = "HMAC-SHA1", oauth_timestamp = "1373559256", oauth_version = "1.0" ''--verbose
Salida:
* About to connect() to api.twitter.com port 443 (#0)
* Trying 199.16.156.72... connected
(...)
> POST /oauth/request_token HTTP/1.1
> User-Agent: curl/7.22.0 (i686-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: api.twitter.com
> Accept: */*
> Authorization: OAuth oauth_callback="http%3A%2F%2Fwww.domain.tld%2Fblank.html", oauth_consumer_key="cmGkcMsffqJlmra6RD1gw", oauth_nonce="hj05psxq62tx1PAe3V", oauth_signature="2ZNWTvzEmSix1G8PGImDxVKulFY=", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1373559256", oauth_version="1.0"
>
< HTTP/1.1 401 Unauthorized
< cache-control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0
< content-length: 44
< content-type: text/html; charset=utf-8
< date: Thu, 11 Jul 2013 16:14:28 GMT
< expires: Tue, 31 Mar 1981 05:00:00 GMT
< last-modified: Thu, 11 Jul 2013 16:14:28 GMT
< pragma: no-cache
< server: tfe
< set-cookie: _twitter_sess=BAh7CDoHaWQiJWY5Y2RkMjc2ZjMwNjI1MmEwZjMwNDQ2YjMyZTMzZjcxOg9j%250AcmVhdGVkX2F0bCsI8CSDzj8BIgpmbGFzaElDOidBY3Rpb25Db250cm9sbGVy%250AOjpGbGFzaDo6Rmxhc2hIYXNoewAGOgpAdXNlZHsA--6299ac6198a2aa6d31ddbf73e644178b151e0938; domain=.twitter.com; path=/; HttpOnly
< set-cookie: guest_id=v1%3A137355926844621784; Domain=.twitter.com; Path=/; Expires=Sat, 11-Jul-2015 16:14:28 UTC
< status: 401 Unauthorized
< strict-transport-security: max-age=631138519
< vary: Accept-Encoding
< x-frame-options: SAMEORIGIN
< x-mid: 4265bd602c73ff13a029debc2d8161132a3ac5b9
< x-runtime: 0.01201
< x-transaction: a8f4d7f44e9ee8ba
< x-ua-compatible: IE=10,chrome=1
< x-xss-protection: 1; mode=block
<
* Connection #0 to host api.twitter.com left intact
* Closing connection #0
* SSLv3, TLS alert, Client hello (1):
Problemas comunes que he verificado:
- la marca de tiempo está bien
- el método de canto debería estar bien (probado con valores de ejemplo de Twitter doc + verificado con http://quonos.nl/oauthTester/
- la url de devolución de llamada de la aplicación está configurada (es la misma url que la de esta solicitud)
- la aplicación puede ser utilizada para iniciar sesión con Twitter
Me estoy quedando sin ideas ...