Obtaining Access Tokens using 3-legged OAuth flow
- O endpoint GET oauth/authorize é usado em vez de GET oauth/authenticate.
- O usuário sempre será solicitado a autorizar o acesso à sua aplicação, mesmo que o acesso já tenha sido concedido anteriormente.

Visão geral do processo
- Criar uma solicitação para que um aplicativo consumidor obtenha um token de solicitação.
- Fazer com que o usuário se autentique e enviar ao aplicativo consumidor um token de solicitação.
- Converter o token de solicitação em um access token de usuário utilizável.
- App Key === API Key === Consumer API Key === Consumer Key === Customer Key ===
oauth_consumer_key
- App Key Secret === API Secret Key === Consumer Secret === Consumer Key === Customer Key ===
oauth_consumer_secret
- Callback URL ===
oauth_callback
- Request Token ===
oauth_token
- Request Token Secret ===
oauth_token_secret
- oauth_verifier
- Access Token === Token === resulting
oauth_token
- Access Token Secret === Token Secret === resulting
oauth_token_secret
Etapas do guia
oauth_callback
, que deve ser a versão codificada em URL do URL para o qual você deseja que o usuário seja redirecionado ao concluir a etapa 2. Os demais parâmetros são adicionados pelo processo de assinatura do OAuth.
Observação: qualquer URL de callback usada com o endpoint POST oauth/request_token precisará ser configurada nas configurações da sua App de desenvolvedor na página de detalhes do app no portal do desenvolvedor.
A solicitação inclui:
oauth_callback="https%3A%2F%2FyourCallbackUrl.com"
oauth_consumer_key="cChZNFj6T5R0TigYB9yd1w"
Seu app deve verificar o status HTTP da resposta. Qualquer valor diferente de 200 indica falha. O corpo da resposta conterá os parâmetros oauth_token
, oauth_token_secret
e oauth_callback_confirmed
. Seu app deve verificar se oauth_callback_confirmed
é true e armazenar os outros dois valores para as próximas etapas.
A resposta inclui
oauth_token=NPcudxy0yU5T3tBzho7iCotZ3cnetKwcTIRlX0iwRl0
oauth_token_secret=veNRnAWe6inFuo8o2u8SLLZLjolYDmDP7SzL0YfYI
oauth_callback_confirmed=true
Etapa 2: GET oauth/authorize
Faça com que o usuário se autentique e envie ao aplicativo consumidor um token de solicitação.
URL de exemplo para redirecionar o usuário:
https://api.x.com/oauth/authorize?oauth_token=NPcudxy0yU5T3tBzho7iCotZ3cnetKwcTIRlX0iwRl0
Após a autenticação bem-sucedida, seu callback_url
receberá uma solicitação contendo os parâmetros oauth_token
e oauth_verifier
. Seu aplicativo deve verificar se o token corresponde ao token de solicitação recebido na etapa 1.
Solicitação do redirecionamento do cliente:
https://yourCallbackUrl.com?oauth_token=NPcudxy0yU5T3tBzho7iCotZ3cnetKwcTIRlX0iwRl0&oauth_verifier=uw7NjWHT6OJ1MpJOXsHfNxoAhPKpgI8BlYDhxEjIBY
Etapa 3: POST oauth/access_token
Converta o token de solicitação em um access token utilizável.
Para converter o token de solicitação em um access token utilizável, seu aplicativo deve fazer uma solicitação ao endpoint POST oauth/access_token, contendo o valor oauth_verifier
obtido na etapa 2. O token de solicitação também é enviado na parte oauth_token
do cabeçalho, mas isso terá sido adicionado pelo processo de assinatura.
A solicitação inclui:
POST /oauth/access_token
oauth_consumer_key=cChZNFj6T5R0TigYB9yd1w
oauth_token=NPcudxy0yU5T3tBzho7iCotZ3cnetKwcTIRlX0iwRl0
oauth_verifier=uw7NjWHT6OJ1MpJOXsHfNxoAhPKpgI8BlYDhxEjIBY
Uma resposta bem-sucedida contém os parâmetros oauth_token
e oauth_token_secret
. O token e o token secret devem ser armazenados e usados em futuras solicitações autenticadas à X API. Para determinar a identidade do usuário, use GET account/verify_credentials.
A resposta inclui:
oauth_token=7588892-kagSNqWge8gB1WwE3plnFsJHAZVfxWD7Vb57p0b4
oauth_token_secret=PbKfYqSryyeKDWz4ebtY3o5ogNLG11WJuZBc9fQrQo
Usando essas credenciais para solicitações obrigatórias do OAuth 1.0a (aplicativo-usuário)
Agora que você obteve os access tokens do usuário, pode usá-los para acessar determinadas APIs, como POST statuses/update, para criar Tweets em nome dos usuários.
A solicitação inclui:
POST statuses/update.json
oauth_consumer_key=cChZNFj6T5R0TigYB9yd1w
oauth_token=7588892-kagSNqWge8gB1WwE3plnFsJHAZVfxWD7Vb57p0b4
Caso de uso de exemplo


