Ciao a tutti!
Non sono sicuro di quale categoria sia quella giusta, sentitevi liberi di ricategorizzarla. Per cominciare, grazie per l’aiuto con lo script Python che fa la stessa cosa dello script in Node che sto scrivendo attualmente
. Quindi sto cercando di effettuare una richiesta API per eseguire la query dell’Esploratore Dati, ricevere la risposta e semplicemente visualizzare il numero che ne ottengo. Mentre il mio codice Python funziona. È qui:
# Import
import requests
import json
# Variabili d'ambiente
ENDPOINT = 'https://community.myCompanyName.com/admin/plugins/explorer/queries/73/run'
API_KEY = '<api_key>'
API_USERNAME = '<my_username'
# Funzioni principali
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("Codice di stato della richiesta: {}".format(request.status_code))
# Risposta non elaborata della richiesta API
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 = "🤖 Statistiche Discourse del mese scorso\nNuovi utenti: {}\nUtenti attivi: {}\nNuovi argomenti: {}\nRisposte dei dipendenti: {}\nRisposte degli utenti esterni: {}".format(new_users, active_users, new_topics, employees_replies, external_users_replies)
return response_text
processed_response = send_request(ENDPOINT)
Ho provato a portarlo in Node.js ma ricevo il codice di stato 301 - “Spostato permanentemente” e sembra che stia facendo esattamente la stessa cosa del mio codice Python. Ecco qui:
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(`codice di stato: ${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);
Non ho esperienza in JS, quindi se qualcuno può dare un’occhiata sarebbe fantastico ![]()