Skip to main content

OAuth 1.0a

PropósitoMétodo
Paso 1 del flujo OAuth de 3 patas e Iniciar sesión con X
Permite que una aplicación Consumer obtenga un OAuth Request Token para solicitar la autorización del usuario.
POST oauth/request_token
Paso 2 del flujo OAuth de 3 patas e Iniciar sesión con X
Permite que una aplicación Consumer use un OAuth Request Token para solicitar la autorización del usuario.
GET oauth/authenticate
Paso 2 del flujo OAuth de 3 patas e Iniciar sesión con X
Permite que una aplicación Consumer use un OAuth Request Token para solicitar la autorización del usuario.
GET oauth/authorize
Paso 3 del flujo OAuth de 3 patas e Iniciar sesión con X
Permite que una aplicación Consumer intercambie el OAuth Request Token por un OAuth Access Token.
POST oauth/access_token
Permite que una aplicación registrada revoque un OAuth Access Token emitido.POST oauth/invalidate_token

OAuth 2.0 Bearer Token

PropósitoMétodo
Permite que una App registrada genere un OAuth 2 app-only Bearer Token, que se puede usar para realizar solicitudes a la API en nombre de una App, sin contexto de usuario.POST oauth2/token
Permite que una App registrada revoque un OAuth 2 app-only Bearer Token emitido.POST oauth2/invalidate_token

POST oauth/request_token

Permite que una aplicación Consumer obtenga un OAuth Request Token para solicitar la autorización del usuario. Este método cumple con la Sección 6.1 del flujo de autenticación OAuth 1.0. Requerimos que uses HTTPS en todos los pasos de autorización de OAuth. Nota de uso: Solo se aceptan valores ASCII para el oauth_nonce URL del recurso https://api.x.com/oauth/request_token Información del recurso
Formatos de respuestaJSON
¿Requiere autenticación?No
¿Tiene límite de tasa?
Parámetros
NombreRequeridoDescripciónEjemplo
oauth_callbackrequeridoPara el cumplimiento de OAuth 1.0a, este parámetro es requerido. El valor que especifiques aquí se usará como la URL a la que se redirigirá al usuario si aprueba el acceso de tu aplicación a su cuenta. Establécelo en oob para el modo pin fuera de banda. Así también se especifican callbacks personalizados para usar en aplicaciones de escritorio/móviles. Envía siempre un oauth_callback en este paso, independientemente de un callback preregistrado.

Requerimos que cualquier URL de callback usada con este endpoint deba estar configurada dentro de la configuración de la App en developer.x.com*
http://themattharris.local/auth.php twitterclient://callback
x_auth_access_typeopcionalSobrescribe el nivel de acceso que una aplicación solicita a la cuenta de un usuario. Los valores admitidos son read o write. Este parámetro está pensado para permitir a un desarrollador registrar una aplicación de lectura/escritura pero también solicitar acceso de solo lectura cuando sea apropiado.
Aprende más sobre cómo aprobar tus URLs de callback en esta página. Ten en cuenta - Puedes ver y editar tus X apps existentes a través del panel de X apps si has iniciado sesión con tu cuenta de X en developer.x.com. Solicitud de ejemplo URL de la solicitud: POST https://api.x.com/oauth/request_token Cuerpo POST de la solicitud: N/A Encabezado de autorización: OAuth oauth_nonce="K7ny27JTpKVsTgdyLdDfmQQWVLERj2zAK5BslRsqyw", oauth_callback="http%3A%2F%2Fmyapp.com%3A3005%2Ftwitter%2Fprocess_callback", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1300228849", oauth_consumer_key="OqEqJeafRSF11jBMStrZz", oauth_signature="Pc%2BMLdv028fxCErFyi8KXFM%2BddU%3D", oauth_version="1.0" Respuesta: oauth_token=Z6eEdO8MOmk394WozF5oKyuAv855l4Mlqo7hhlSLik&oauth_token_secret=Kd75W4OQfb2oJTV0vzGzeXftVAwgMnEK9MumzYcM&oauth_callback_confirmed=true

GET oauth/authorize

Permite que una aplicación Consumer use un OAuth Request Token para solicitar la autorización del usuario. Este método cumple con la Sección 6.2 del flujo de autenticación OAuth 1.0. Las aplicaciones de escritorio deben usar este método (y no pueden usar GET oauth / authenticate). Nota de uso: Nunca se envía un oauth_callback a este método; proporciónalo a POST oauth / request_token en su lugar. URL del recurso https://api.x.com/oauth/authorize Información del recurso
Formatos de respuestaJSON
¿Requiere autenticación?
¿Tiene límite de tasa?
Parámetros
NombreRequeridoDescripciónValor predeterminadoEjemplo
force_loginopcionalObliga al usuario a ingresar sus credenciales para asegurar que se autorice la cuenta correcta.
screen_nameopcionalRellena previamente el campo de nombre de usuario de la pantalla de inicio de sesión OAuth con el valor indicado.
Solicitud de ejemplo Envía al usuario al paso oauth/authorize en un navegador web, incluyendo un parámetro oauth_token: https://api.x.com/oauth/authorize?oauth_token=Z6eEdO8MOmk394WozF5oKyuAv855l4Mlqo7hhlSLik

GET oauth/authenticate

Permite que una aplicación Consumer use un request_token OAuth para solicitar la autorización del usuario. Este método reemplaza la Sección 6.2 del flujo de autenticación OAuth 1.0 para aplicaciones que utilizan el flujo de autenticación por callback. El método usará al usuario que actualmente ha iniciado sesión como la cuenta para la autorización de acceso, a menos que el parámetro force_login esté establecido en true. Este método se diferencia de GET oauth / authorize en que, si el usuario ya ha otorgado permiso a la aplicación, la redirección se producirá sin que el usuario tenga que volver a aprobar la aplicación. Para lograr este comportamiento, debes habilitar la opción Use Sign in with X en el registro de tu aplicación. URL del recurso https://api.x.com/oauth/authenticate Información del recurso
Formatos de respuestaJSON
¿Requiere autenticación?
¿Tiene límite de tasa?
Parámetros
NombreRequeridoDescripciónValor predeterminadoEjemplo
force_loginopcionalObliga al usuario a ingresar sus credenciales para asegurar que se autorice la cuenta correcta.true
screen_nameopcionalRellena previamente el campo de nombre de usuario de la pantalla de inicio de sesión OAuth con el valor indicado.
Solicitud de ejemplo Envía al usuario al paso oauth/authenticate en un navegador web, incluyendo un parámetro oauth_token: https://api.x.com/oauth/authenticate?oauth_token=Z6eEdO8MOmk394WozF5oKyuAv855l4Mlqo7hhlSLik

POST oauth/access_token

Permite que una aplicación Consumer intercambie el OAuth Request Token por un OAuth Access Token. Este método cumple con la Sección 6.3 del flujo de autenticación OAuth 1.0. URL del recurso https://api.x.com/oauth/access_token Información del recurso
Formatos de respuestaJSON
¿Requiere autenticación?
¿Tiene límite de tasa?
Parámetros
NombreRequeridoDescripciónValor predeterminadoEjemplo
oauth_tokenrequeridoEl oauth_token aquí debe ser el mismo que el oauth_token devuelto en el paso request_token.
oauth_verifierrequeridoSi utilizas el flujo OAuth web, establece este parámetro con el valor del oauth_verifier devuelto en la URL de callback. Si estás utilizando OAuth fuera de banda, establece este valor en el pin-code. Para el cumplimiento de OAuth 1.0a, este parámetro es requerido. OAuth 1.0a se aplica estrictamente y las aplicaciones que no usen el oauth_verifier no podrán completar el flujo OAuth.
Solicitud de ejemplo POST https://api.x.com/oauth/access_token?oauth_token=qLBVyoAAAAAAx72QAAATZxQWU6P&oauth_verifier=ghLM8lYmAxDbaqL912RZSRjCCEXKDIzx Desde PIN-based POST https://api.x.com/oauth/access_token?oauth_token=9Npq8AAAAAAAx72QBRABZ4DAfY9&oauth_verifier=4868795 Respuesta de ejemplo oauth_token=6253282-eWudHldSbIaelX7swmsiHImEL4KinwaGloHANdrY&oauth_token_secret=2EEfA6BG5ly3sR3XjE0IBSnlQu4ZrUzPiYTmrkVU&user_id=6253282&screen_name=xapi

POST oauth/invalidate_token

Permite que una aplicación registrada revoque un access_token OAuth emitido presentando sus credenciales de cliente. Una vez que se haya invalidado un access_token, los nuevos intentos de creación producirán un Access Token diferente y ya no se permitirá el uso del token invalidado. URL del recurso https://api.x.com/1.1/oauth/invalidate_token Información del recurso
Formatos de respuestaJSON
¿Requiere autenticación?Sí — Contexto de usuario con los access tokens que deseas invalidar
¿Tiene límite de tasa?
Solicitud de ejemplo
        curl --request POST
          --url 'https://api.x.com/1.1/oauth/invalidate_token.json'
          --header 'authorization: OAuth oauth_consumer_key="CLIENT_KEY",
         oauth_nonce="AUTO_GENERATED_NONCE", oauth_signature="AUTO_GENERATED_SIGNATURE",
         oauth_signature_method="HMAC-SHA1", oauth_timestamp="AUTO_GENERATED_TIMESTAMP",
         oauth_token="ACCESS_TOKEN", oauth_version="1.0"'
Respuesta de ejemplo
        HTTP/1.1 200 OK
        Content-Type: application/json; charset=utf-8
        Content-Length: 127
        ...

        {"access_token":"ACCESS_TOKEN"}
Respuesta de error de ejemplo después de invalidar el token
        HTTP/1.1 401 Authorization Required
        ...

        {"errors": [{
          "code": 89,
          "message": "Invalid or expired token."}
        ]}

POST oauth2/token

Permite que una aplicación registrada obtenga un OAuth 2 Bearer Token, que se puede usar para realizar solicitudes a la API en nombre de la propia aplicación, sin contexto de usuario. Esto se llama Autenticación Application-only. Un Bearer Token puede invalidarse usando oauth2/invalidate_token. Una vez que se haya invalidado un Bearer Token, los nuevos intentos de creación producirán un Bearer Token diferente y ya no se permitirá el uso del token anterior. Solo puede existir un bearer token pendiente para una aplicación, y las solicitudes repetidas a este método producirán el mismo token ya existente hasta que se invalide. Las respuestas exitosas incluyen una estructura JSON que describe el Bearer Token concedido. Los tokens recibidos por este método deben almacenarse en caché. Si se intenta con demasiada frecuencia, las solicitudes serán rechazadas con un HTTP 403 con código 99. URL del recurso https://api.x.com/oauth2/token Información del recurso
Formatos de respuestaJSON
¿Requiere autenticación?Sí — Basic auth con tu API key como nombre de usuario y tu API key secret como contraseña
¿Tiene límite de tasa?
Parámetros
NombreRequeridoDescripciónValor predeterminadoEjemplo
grant_typerequeridoEspecifica el tipo de concesión solicitada por la aplicación. En este momento, solo se permite client_credentials. Consulta Autenticación Application-Only para más información.client_credentials
Solicitud de ejemplo
    POST /oauth2/token HTTP/1.1
    Host: api.x.com
    User-Agent: My X App v1.0.23
    Authorization: Basic eHZ6MWV2R ... o4OERSZHlPZw==
    Content-Type: application/x-www-form-urlencoded;charset=UTF-8
    Content-Length: 29
    Accept-Encoding: gzip

    grant_type=client_credentials
Respuesta de ejemplo:
    HTTP/1.1 200 OK
    Status: 200 OK
    Content-Type: application/json; charset=utf-8
    ...
    Content-Encoding: gzip
    Content-Length: 140

    {"token_type":"bearer","access_token":"AAAA%2FAAA%3DAAAAAAAA"}

POST oauth2/invalidate_token

Permite que una aplicación registrada revoque un oAuth 2.0 Bearer Token emitido presentando sus credenciales de cliente. Una vez que se haya invalidado un Bearer Token, los nuevos intentos de creación producirán un Bearer Token diferente y ya no se permitirá el uso del token invalidado. Las respuestas exitosas incluyen una estructura JSON que describe el Bearer Token revocado. URL del recurso https://api.x.com/oauth2/invalidate_token Información del recurso
Formatos de respuestaJSON
¿Requiere autenticación?Sí — oAuth 1.0a con las API keys de consumer de la aplicación y el access token & access token secret del propietario de la aplicación
¿Tiene límite de tasa?
Parámetros
NombreRequeridoDescripción
access_tokenrequeridoEl valor del bearer token que deseas invalidar
Solicitud de ejemplo
        curl --request POST
          --url 'https://api.x.com/oauth2/invalidate_token?access_token=AAAA%2FAAA%3DAAAAAAAA'
          --header 'authorization: OAuth oauth_consumer_key="CLIENT_KEY",
         oauth_nonce="AUTO_GENERATED_NONCE", oauth_signature="AUTO_GENERATED_SIGNATURE",
         oauth_signature_method="HMAC-SHA1", oauth_timestamp="AUTO_GENERATED_TIMESTAMP",
         oauth_token="ACCESS_TOKEN", oauth_version="1.0"'
Respuesta de ejemplo
         Status: 200 OK
         Content-Type: application/json; charset=utf-8
         Content-Length: 135
         ...
       {
        "access_token": "AAAA%2FAAA%3DAAAAAAAA"
        }