¡Hola a todos!
No estoy seguro de qué categoría es la adecuada, así que siéntete libre de recategorizarlo. Para empezar, gracias por la ayuda con el script de Python que hace lo mismo que el script en Node que estoy escribiendo actualmente
. Así que estoy intentando hacer la solicitud a la API para ejecutar la consulta del Explorador de Datos, recibir la respuesta y simplemente mostrar el número que obtengo. Aunque mi código en Python funciona. Aquí está:
# Imports
import requests
import json
# Environment Variables
ENDPOINT = 'https://community.myCompanyName.com/admin/plugins/explorer/queries/73/run'
API_KEY = '<api_key>'
API_USERNAME = '<my_username'
# Core Functions
def send_request(endpoint):
headers = {'Content-Type': 'multipart/form-data', 'Api-Key': API_KEY, 'Api-Username': API_USERNAME}
request = requests.post(url = endpoint, headers = headers)
print("Request Status Code: {}".format(request.status_code))
# Unprocessed API request response
response = json.loads(request.text)
response_columns = response["columns"]
response_rows = response["rows"]
new_users = response_rows[0][0]
active_users = response_rows[0][1]
new_topics = response_rows[0][2]
employees_replies = response_rows[0][4]
external_users_replies = response_rows[0][3] - response_rows[0][4]
response_text = "🤖 Discourse Last Month Stats\nNew Users: {}\nActive Users: {}\nNew Topics: {}\nEmployees Replies: {}\nExternal Users Replies: {}".format(new_users, active_users, new_topics, employees_replies, external_users_replies)
return response_text
processed_response = send_request(ENDPOINT)
Intenté portarlo a Node.js pero recibo un código de estado 301: “Moved Permanently” y parece estar haciendo exactamente lo mismo que mi código en Python. Aquí está:
const http = require('http');
const options = {
hostname: 'community.myCompanyNamee.com',
path: '/admin/plugins/explorer/queries/73/run',
method: 'POST',
headers: {
'Content-Type': 'multipart/form-data',
'Api-Key': <api_key>,
'Api-Username': <my_username>
}
};
var response = 1;
const req = http.request(options, (res) => {
console.log(`statusCode: ${res.statusCode}`);
response = res;
res.on('data', (d) => {
process.stdout.write(d);
});
});
req.on('error', (error) => {
console.error(error);
});
req.end();
var parsed_response = JSON.parse(response);
No tengo experiencia en JS, así que si alguien puede echarle un vistazo, sería genial ![]()