Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

99
Visualizações
Cómo obtener un token de acceso a la API de Twitter en JavaScript

Estoy tratando de convertir una aplicación de Python que hice hace algunos años en una (mejor) implementación de NodeJS. La función en cuestión obtiene un token de acceso de la API de Twitter para adjuntarlo a futuras solicitudes, pero mi implementación devuelve 403 solicitud incorrecta. Aquí hay una implementación funcional de Python.

 def get_bearer_header(): uri_token_endpoint = 'https://api.twitter.com/oauth2/token' key_secret = f"{twitter_creds.CONSUMER_KEY}:{twitter_creds.CONSUMER_KEY_SECRET}".encode('ascii') b64_encoded_key = base64.b64encode(key_secret) b64_encoded_key = b64_encoded_key.decode('ascii') auth_headers = { 'Authorization': 'Basic {}'.format(b64_encoded_key), 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' } auth_data = { 'grant_type': 'client_credentials' } auth_resp = requests.post(uri_token_endpoint, headers=auth_headers, data=auth_data) bearer_token = auth_resp.json()['access_token'] bearer_header = { 'Accept-Encoding': 'gzip', 'Authorization': 'Bearer {}'.format(bearer_token), 'oauth_consumer_key': twitter_creds.CONSUMER_KEY } return bearer_header

y aquí está la implementación de JS hasta ahora ...

 export const getBearerHeader = async () => { const keyAndSecret = btoa(`${config.twitterApi.consumerKey}:${config.twitterApi.consumerKeySecret}`) const buff = Buffer.from(keyAndSecret, 'utf-8'); const b64KeyAndSecret = buff.toString('base64'); const body = new URLSearchParams({ 'grant_type': 'client_credentials' }) const url = config.twitterApi.oauthTokenEndpoint const headers = { 'Authorization': `Basic ${b64KeyAndSecret}`, 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' } const resp = await axios.post(url, body, headers) console.log("RESPONSE.data") console.log(resp.data) }

la solicitud se ve bien según los documentos de Twitter, ¡pero mi respuesta dice 403!

¡Cualquier ayuda apreciada!

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Obtenga el token de acceso de Twitter v2 por código python y node.js.

Para crear una clave API y un secreto desde el portal de desarrolladores de Twitter

Idea principal para usar curl commend para obtener token de acceso. POST oauth2/token

Usando el archivo config.json

 { "API_KEY" : "Xx7MxxxxxTkzxxxxxq9xxxxxQ", "API_KEY_SECRET" : "om4QxxxxxPrcPlxxxxxFikDxxxxxoC5mQxxxxxLy7M17xxxxxK" }

Código Node.js

 const axios = require('axios') const config = require('./config.json'); const getAccessToken = async () => { try { const resp = await axios.post( 'https://api.twitter.com/oauth2/token', '', { params: { 'grant_type': 'client_credentials' }, auth: { username: config.API_KEY, password: config.API_KEY_SECRET } } ); console.log(resp.data); } catch (err) { // Handle Error Here console.error(err); } }; getAccessToken();

código pitón

 import requests import json import ast def get_access_token(): with open('config.json') as config_file: data = json.load(config_file) params = { 'grant_type': 'client_credentials', } response = requests.post('https://api.twitter.com/oauth2/token', params=params, auth=(data['API_KEY'], data['API_KEY_SECRET'])) print(response.content) json_data = ast.literal_eval(response.content.decode("UTF-8")) return json_data['access_token'] print(get_access_token())

ejecutar desde la terminal ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda