Skip to main content

OAuth 1.0a

FinalidadeMétodo
Passo 1 do fluxo 3-legged OAuth e do Sign in with X
Permite que uma aplicação Consumer obtenha um OAuth Request Token para solicitar autorização do usuário.
POST oauth/request_token
Passo 2 do fluxo 3-legged OAuth e do Sign in with X
Permite que uma aplicação Consumer use um OAuth Request Token para solicitar autorização do usuário.
GET oauth/authenticate
Passo 2 do fluxo 3-legged OAuth e do Sign in with X
Permite que uma aplicação Consumer use um OAuth Request Token para solicitar autorização do usuário.
GET oauth/authorize
Passo 3 do fluxo 3-legged OAuth e do Sign in with X
Permite que uma aplicação Consumer troque o OAuth Request Token por um OAuth Access Token.
POST oauth/access_token
Permite que uma aplicação registrada revogue um OAuth Access Token emitido.POST oauth/invalidate_token

OAuth 2.0 Bearer Token

FinalidadeMétodo
Permite que um App registrado gere um Bearer Token app-only OAuth 2, que pode ser usado para fazer solicitações à API em nome de um App, sem contexto de usuário.POST oauth2/token
Permite que um App registrado revogue um Bearer Token app-only OAuth 2 emitido.POST oauth2/invalidate_token

POST oauth/request_token

Permite que uma aplicação Consumer obtenha um OAuth Request Token para solicitar autorização do usuário. Este método cumpre a Seção 6.1 do fluxo de autenticação OAuth 1.0. Exigimos que você use HTTPS em todos os passos de autorização OAuth. Nota de uso: somente valores ASCII são aceitos para o oauth_nonce. Resource URL https://api.x.com/oauth/request_token Informações do recurso
Formatos de respostaJSON
Requer autenticação?Não
Sujeito a rate limit?Sim
Parâmetros
NomeObrigatórioDescriçãoExemplo
oauth_callbackobrigatórioPara conformidade com OAuth 1.0a, este parâmetro é obrigatório. O valor especificado aqui será usado como a URL para a qual o usuário é redirecionado caso aprove o acesso da sua aplicação à conta dele. Defina como oob para o modo out-of-band pin. É também assim que você especifica callbacks personalizados para uso em aplicações desktop/móveis. Sempre envie um oauth_callback neste passo, independentemente de um callback pré-registrado.

Exigimos que qualquer callback URL usada com este endpoint seja configurada nas configurações do App em developer.x.com*
http://themattharris.local/auth.php twitterclient://callback
x_auth_access_typeopcionalSubstitui o nível de acesso que uma aplicação solicita à conta de um usuário. Os valores suportados são read ou write. Este parâmetro tem o objetivo de permitir que um desenvolvedor registre uma aplicação de leitura/escrita, mas também solicite acesso somente leitura quando apropriado.
Saiba mais sobre como aprovar suas URLs de callback nesta página. Observação — você pode visualizar e editar seus X apps existentes pelo painel de X apps se estiver logado na sua conta do X em developer.x.com. Exemplo de solicitação 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 uma aplicação Consumer use um OAuth Request Token para solicitar autorização do usuário. Este método cumpre a Seção 6.2 do fluxo de autenticação OAuth 1.0. Aplicações desktop devem usar este método (e não podem usar GET oauth / authenticate). Nota de uso: um oauth_callback nunca é enviado a este método; envie-o para POST oauth / request_token. Resource URL https://api.x.com/oauth/authorize Informações do recurso
Formatos de respostaJSON
Requer autenticação?Sim
Sujeito a rate limit?Sim
Parâmetros
NomeObrigatórioDescriçãoValor padrãoExemplo
force_loginopcionalForça o usuário a inserir suas credenciais para garantir que a conta correta seja autorizada.
screen_nameopcionalPré-preenche o campo de nome de usuário da tela de login OAuth com o valor informado.
Exemplo de solicitação Envie o usuário para o passo oauth/authorize em um navegador, incluindo o parâmetro oauth_token: https://api.x.com/oauth/authorize?oauth_token=Z6eEdO8MOmk394WozF5oKyuAv855l4Mlqo7hhlSLik

GET oauth/authenticate

Permite que uma aplicação Consumer use um OAuth request_token para solicitar autorização do usuário. Este método substitui a Seção 6.2 do fluxo de autenticação OAuth 1.0 para aplicações que usam o fluxo de autenticação por callback. O método usará o usuário atualmente logado como a conta para autorização de acesso, a menos que o parâmetro force_login seja definido como true. Este método difere de GET oauth / authorize porque, se o usuário já tiver concedido permissão à aplicação, o redirect ocorrerá sem que o usuário precise reaprovar a aplicação. Para obter esse comportamento, você deve habilitar a configuração Use Sign in with X no registro da sua aplicação. Resource URL https://api.x.com/oauth/authenticate Informações do recurso
Formatos de respostaJSON
Requer autenticação?Sim
Sujeito a rate limit?Sim
Parâmetros
NomeObrigatórioDescriçãoValor padrãoExemplo
force_loginopcionalForça o usuário a inserir suas credenciais para garantir que a conta correta seja autorizada.true
screen_nameopcionalPré-preenche o campo de nome de usuário da tela de login OAuth com o valor informado.
Exemplo de solicitação Envie o usuário para o passo oauth/authenticate em um navegador, incluindo o parâmetro oauth_token: https://api.x.com/oauth/authenticate?oauth_token=Z6eEdO8MOmk394WozF5oKyuAv855l4Mlqo7hhlSLik

POST oauth/access_token

Permite que uma aplicação Consumer troque o OAuth Request Token por um OAuth Access Token. Este método cumpre a Seção 6.3 do fluxo de autenticação OAuth 1.0. Resource URL https://api.x.com/oauth/access_token Informações do recurso
Formatos de respostaJSON
Requer autenticação?Sim
Sujeito a rate limit?Sim
Parâmetros
NomeObrigatórioDescriçãoValor padrãoExemplo
oauth_tokenobrigatórioO oauth_token aqui deve ser o mesmo oauth_token retornado no passo request_token.
oauth_verifierobrigatórioSe estiver usando o fluxo web OAuth, defina este parâmetro como o valor do oauth_verifier retornado na URL de callback. Se estiver usando OAuth out-of-band, defina este valor como o pin-code. Para conformidade com OAuth 1.0a, este parâmetro é obrigatório. O OAuth 1.0a é aplicado estritamente e aplicações que não usam o oauth_verifier não conseguirão concluir o fluxo OAuth.
Exemplo de solicitação POST https://api.x.com/oauth/access_token?oauth_token=qLBVyoAAAAAAx72QAAATZxQWU6P&oauth_verifier=ghLM8lYmAxDbaqL912RZSRjCCEXKDIzx Baseado em PIN: POST https://api.x.com/oauth/access_token?oauth_token=9Npq8AAAAAAAx72QBRABZ4DAfY9&oauth_verifier=4868795 Exemplo de resposta oauth_token=6253282-eWudHldSbIaelX7swmsiHImEL4KinwaGloHANdrY&oauth_token_secret=2EEfA6BG5ly3sR3XjE0IBSnlQu4ZrUzPiYTmrkVU&user_id=6253282&screen_name=xapi

POST oauth/invalidate_token

Permite que uma aplicação registrada revogue um access_token OAuth emitido apresentando as credenciais do cliente. Uma vez que um access_token é invalidado, novas tentativas de criação retornarão um Access Token diferente e o uso do token invalidado não será mais permitido. Resource URL https://api.x.com/1.1/oauth/invalidate_token Informações do recurso
Formatos de respostaJSON
Requer autenticação?Sim — contexto de usuário com os access tokens que você deseja invalidar
Sujeito a rate limit?Sim
Exemplo de solicitação
        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"'
Exemplo de resposta
        HTTP/1.1 200 OK
        Content-Type: application/json; charset=utf-8
        Content-Length: 127
        ...

        {"access_token":"ACCESS_TOKEN"}
Exemplo de resposta de erro após o token ter sido invalidado
        HTTP/1.1 401 Authorization Required
        ...

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

POST oauth2/token

Permite que uma aplicação registrada obtenha um Bearer Token OAuth 2, que pode ser usado para fazer solicitações à API em nome da própria aplicação, sem um contexto de usuário. Isso é chamado de autenticação Application-only. Um Bearer Token pode ser invalidado usando oauth2/invalidate_token. Uma vez que um Bearer Token é invalidado, novas tentativas de criação retornarão um Bearer Token diferente e o uso do token anterior não será mais permitido. Apenas um bearer token pode existir ativo para uma aplicação, e solicitações repetidas a este método retornarão o mesmo token já existente até que ele seja invalidado. Respostas bem-sucedidas incluem uma estrutura JSON descrevendo o Bearer Token concedido. Tokens recebidos por este método devem ser armazenados em cache. Se solicitados com muita frequência, as requisições serão rejeitadas com um HTTP 403 e código 99. Resource URL https://api.x.com/oauth2/token Informações do recurso
Formatos de respostaJSON
Requer autenticação?Sim — Basic auth com sua API key como username e API key secret como password
Sujeito a rate limit?Sim
Parâmetros
NomeObrigatórioDescriçãoValor padrãoExemplo
grant_typeobrigatórioEspecifica o tipo de grant sendo solicitado pela aplicação. Neste momento, apenas client_credentials é permitido. Veja Application-Only Authentication para mais informações.client_credentials
Exemplo de solicitação
    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
Exemplo de resposta:
    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 uma aplicação registrada revogue um Bearer Token OAuth 2.0 emitido apresentando as credenciais do cliente. Uma vez que um Bearer Token é invalidado, novas tentativas de criação retornarão um Bearer Token diferente e o uso do token invalidado não será mais permitido. Respostas bem-sucedidas incluem uma estrutura JSON descrevendo o Bearer Token revogado. Resource URL https://api.x.com/oauth2/invalidate_token Informações do recurso
Formatos de respostaJSON
Requer autenticação?Sim — oAuth 1.0a com as consumer API keys da aplicação e o access token e access token secret do proprietário da aplicação
Sujeito a rate limit?Sim
Parâmetros
NomeObrigatórioDescrição
access_tokenobrigatórioO valor do bearer token que você deseja invalidar
Exemplo de solicitação
        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"'
Exemplo de resposta
         Status: 200 OK
         Content-Type: application/json; charset=utf-8
         Content-Length: 135
         ...
       {
        "access_token": "AAAA%2FAAA%3DAAAAAAAA"
        }