Saltar al contenido principal

OAuth 1.0a

PropósitoMétodo
Paso 1 del flujo OAuth de 3 fases y Sign in with X
Permite que una App consumidora obtenga un OAuth Request Token para solicitar la autorización del usuario.
POST oauth/request_token
Paso 2 del flujo OAuth de 3 fases y Sign in with X
Permite que una App consumidora use un OAuth Request Token para solicitar la autorización del usuario.
GET oauth/authenticate
Paso 2 del flujo OAuth de 3 fases y Sign in with X
Permite que una App consumidora use un OAuth Request Token para solicitar la autorización del usuario.
GET oauth/authorize
Paso 3 del flujo OAuth de 3 fases y Sign in with X
Permite que una App consumidora intercambie el OAuth Request Token por un OAuth Access Token.
POST oauth/access_token
Permite que una App registrada revoque un OAuth Access Token emitido.POST oauth/invalidate_token

Token portador OAuth 2.0

PropósitoMétodo
Permite que una App registrada genere un token portador OAuth 2 de solo aplicación, que puede usarse 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 token portador OAuth 2 de solo aplicación que haya sido emitido.POST oauth2/invalidate_token

POST oauth/request_token

Permite que una aplicación de consumidor obtenga un OAuth Request Token para solicitar la autorización del usuario. Este método cumple la Sección 6.1 del flujo de autenticación OAuth 1.0. Requerimos que uses HTTPS para todos los pasos de autorización de OAuth. Nota de uso: Solo se aceptan valores ASCII para oauth_nonce. Resource URL https://api.x.com/oauth/request_token Resource Information
Formatos de respuestaJSON
¿Requiere autenticación?No
¿Tiene límite de frecuencia?
Parameters
NombreRequeridoDescripciónEjemplo
oauth_callbackobligatorioPara cumplir con OAuth 1.0a este parámetro es obligatorio. El valor que especifiques aquí se usará como la URL a la que se redirige a un usuario si aprueba que tu aplicación acceda a su cuenta. Establécelo en oob para el modo de PIN fuera de banda. Esta también es la forma de especificar callbacks personalizados para usar en aplicaciones de escritorio y móviles. Envía siempre un oauth_callback en este paso, independientemente de que exista un callback preregistrado.

Requerimos que cualquier URL de callback utilizada con este endpoint esté configurada dentro de la configuración de la App en developer.x.com*
http://themattharris.local/auth.php twitterclient://callback
x_auth_access_typeopcionalAnula 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 que un desarrollador registre una aplicación de lectura/escritura pero también solicite acceso de solo lectura cuando corresponda.
Obtén más información sobre cómo aprobar tus URL de callback en esta página. Ten en cuenta: Puedes ver y editar tus apps de X existentes a través del panel de apps de X si has iniciado sesión en tu cuenta de X en developer.x.com. Example request Request URL: POST https://api.x.com/oauth/request_token Request POST Body: N/A Authorization Header: 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" Response: oauth_token=Z6eEdO8MOmk394WozF5oKyuAv855l4Mlqo7hhlSLik&oauth_token_secret=Kd75W4OQfb2oJTV0vzGzeXftVAwgMnEK9MumzYcM&oauth_callback_confirmed=true

GET oauth/authorize

Permite que una App de consumidor 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 de 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; en su lugar, proporciónalo a POST oauth / request_token. Resource URL https://api.x.com/oauth/authorize Resource Information
Response formatsJSON
Requires authentication?Yes
Rate limited?Yes
Parameters
NameRequiredDescriptionDefault ValueExample
force_loginoptionalObliga al usuario a introducir sus credenciales para garantizar que se autorice la cuenta de usuario correcta.
screen_nameoptionalPrecompleta el campo de nombre de usuario en la pantalla de inicio de sesión de OAuth con el valor proporcionado.
Example request 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 App Consumer use un request_token de OAuth para solicitar la autorización del usuario. Este método sustituye la Sección 6.2 del flujo de Autenticación de OAuth 1.0 para las aplicaciones que utilizan el flujo de autenticación con callback. El método usará al usuario que haya iniciado sesión actualmente como la cuenta para la autorización de acceso, a menos que el parámetro force_login esté establecido en true. Este método difiere de GET oauth/authorize en que, si el usuario ya ha concedido permiso a la aplicación, la redirección se producirá sin que el usuario tenga que volver a aprobarla. Para habilitar este comportamiento, debes activar la opción Usar Iniciar sesión con X en el registro de tu App. Resource URL https://api.x.com/oauth/authenticate Resource Information
Response formatsJSON
Requires authentication?Yes
Rate limited?Yes
Parameters
NameRequiredDescriptionDefault ValueExample
force_loginoptionalObliga al usuario a introducir sus credenciales para garantizar que se autoriza la cuenta de usuario correcta.true
screen_nameoptionalPrecompleta el campo del nombre de usuario en la pantalla de inicio de sesión de OAuth con el valor proporcionado.
Example request 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 App de consumidor intercambie el OAuth Request Token por un OAuth Access Token. Este método cumple la Sección 6.3 del flujo de Autenticación OAuth 1.0. Resource URL https://api.x.com/oauth/access_token Resource Information
Response formatsJSON
Requires authentication?Yes
Rate limited?Yes
Parameters
NameRequiredDescriptionDefault ValueExample
oauth_tokenrequiredEl oauth_token aquí debe ser el mismo que el oauth_token devuelto en el paso request_token.
oauth_verifierrequiredSi utilizas el flujo web de OAuth, establece este parámetro en el valor de oauth_verifier devuelto en la URL de callback. Si utilizas OAuth fuera de banda, establece este valor en el código PIN. Para cumplir con OAuth 1.0a, este parámetro es obligatorio. OAuth 1.0a se aplica estrictamente y las aplicaciones que no utilicen oauth_verifier no podrán completar el flujo de OAuth.
Example request 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 Example response oauth_token=6253282-eWudHldSbIaelX7swmsiHImEL4KinwaGloHANdrY&oauth_token_secret=2EEfA6BG5ly3sR3XjE0IBSnlQu4ZrUzPiYTmrkVU&user_id=6253282&screen_name=xapi

POST oauth/invalidate_token

Permite que una App registrada revoque un access_token de OAuth emitido presentando sus credenciales de cliente. Una vez invalidado un access_token, los nuevos intentos de creación generarán un token de acceso diferente y el uso del token invalidado ya no estará permitido. Resource URL https://api.x.com/1.1/oauth/invalidate_token Resource Information
Response formatsJSON
Requires authentication?Sí: contexto de usuario con los tokens de acceso que desea invalidar
Rate limited?
Example request
        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"'
Ejemplo de respuesta
        HTTP/1.1 200 OK
        Content-Type: application/json; charset=utf-8
        Content-Length: 127
        ...

        {"access_token":"ACCESS_TOKEN"}
Ejemplo de respuesta de error tras la invalidación del token
        HTTP/1.1 401 Autorización requerida
        ...

        {"errors": [{
          "code": 89,
          "message": "Token no válido o caducado."}
        ]}

POST oauth2/token

Permite que una App registrada obtenga un token Bearer de OAuth 2, que puede usarse para realizar solicitudes a la API en nombre de la propia aplicación, sin contexto de usuario. Esto se denomina autenticación solo de la aplicación. Un token Bearer puede invalidarse mediante oauth2/invalidate_token. Una vez invalidado, los nuevos intentos de creación generarán un token Bearer distinto y ya no se permitirá el uso del token anterior. Solo puede existir un token Bearer activo por aplicación; las solicitudes repetidas a este método devolverán el mismo token existente hasta que se invalide. Las respuestas satisfactorias incluyen una estructura JSON que describe el token Bearer otorgado. Los tokens recibidos por este método deben almacenarse en caché. Si se intenta con demasiada frecuencia, las solicitudes se rechazarán con un HTTP 403 y el código 99. URL del recurso https://api.x.com/oauth2/token Información del recurso
Formatos de respuestaJSON
¿Requiere autenticación?Sí: autenticación Básico con tu clave de API como nombre de usuario y el secreto de la clave de API como contraseña
¿Tiene límite de tasa?
Parámetros
NameRequiredDescriptionDefault ValueExample
grant_typerequiredEspecifica el tipo de concesión solicitada por la aplicación. Por el momento, solo se permite client_credentials. Consulta la autenticación solo de la aplicación para obtener más información.client_credentials
Solicitud de ejemplo
    POST /oauth2/token HTTP/1.1
    Host: api.x.com
    User-Agent: Mi App de X 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
Ejemplo de respuesta:
    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 App registrada revoque un token Bearer de OAuth 2.0 emitido presentando sus credenciales de cliente. Una vez invalidado un token Bearer, los nuevos intentos de creación generarán un token Bearer distinto y ya no se permitirá el uso del token invalidado. Las respuestas correctas incluyen una estructura JSON que describe el token Bearer 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 claves de API de consumidor de la App y el access token y access token secret del propietario de la App
¿Con límite de uso?
Parámetros
NombreObligatorioDescripción
access_tokenrequiredValor del token Bearer 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
         Estado: 200 OK
         Tipo de contenido: application/json; charset=utf-8
         Longitud del contenido: 135
         ...
       {
        "access_token": "AAAA%2FAAA%3DAAAAAAAA"
        }