Integrate an api in max 8

Giuseppe Stella's icon

Hi community,

I'm working on a project for my exam and I need to integrate the OpenWeatherMap API in Max 8. The goal is to check the weather of a city (Milan in this case) and determine if it's raining or not. If it's raining, the result should be 0, otherwise 1.

I'm using the js object to write the JavaScript code, but my script doesn't work as expected. Here's the code I wrote:

// Configura API e città
const apiKey = "MYAPIKEY"; // Chiave API // la chiave api l'ho rimossa per privacy
const cityId = "3173435"; // ID di Milano
const apiUrl = `http://api.openweathermap.org/data/2.5/weather?id=${cityId}&appid=${apiKey}`;

// Funzione per verificare il meteo
function bang() {
    fetch(apiUrl)
        .then((response) => {
            if (!response.ok) {
                throw new Error(`Errore HTTP! Stato: ${response.status}`);
            }
            return response.json();
        })
        .then((data) => {
            // Verifica se c'è pioggia
            const isRainy = data.weather.some((w) =>
                ["rain", "drizzle", "thunderstorm"].includes(w.main.toLowerCase())
            );

            // Risultato: 0 (brutto tempo), 1 (bello)
            const result = isRainy ? 0 : 1;

            // Output del risultato
            outlet(0, result); // Invia il risultato all'uscita 0
        })
        .catch((error) => {
            // Output dell'errore
            outlet(1, `Errore: ${error.message}`); // Invia l'errore all'uscita 1
        });
}

Any suggestions would be really helpful! I want this project to be as complete as possible for my exam.

Thanks a lot in advance for your help!



Ciao a tutti,

sto lavorando a un progetto per il mio esame e ho bisogno di integrare l'API di OpenWeatherMap in Max 8. L'obiettivo è verificare il meteo di una città (Milano in questo caso) e determinare se sta piovendo o meno. Se piove, il risultato dovrebbe essere 0, altrimenti 1.

Sto utilizzando l'oggetto js per scrivere il codice JavaScript, ma il mio script non funziona come previsto. Qui di seguito trovate il codice che ho scritto:

// Configura API e città
const apiKey = "MYAPIKEY"; // Chiave API // la chiave api l'ho rimossa per privacy
const cityId = "3173435"; // ID di Milano
const apiUrl = `http://api.openweathermap.org/data/2.5/weather?id=${cityId}&appid=${apiKey}`;

// Funzione per verificare il meteo
function bang() {
    fetch(apiUrl)
        .then((response) => {
            if (!response.ok) {
                throw new Error(`Errore HTTP! Stato: ${response.status}`);
            }
            return response.json();
        })
        .then((data) => {
            // Verifica se c'è pioggia
            const isRainy = data.weather.some((w) =>
                ["rain", "drizzle", "thunderstorm"].includes(w.main.toLowerCase())
            );

            // Risultato: 0 (brutto tempo), 1 (bello)
            const result = isRainy ? 0 : 1;

            // Output del risultato
            outlet(0, result); // Invia il risultato all'uscita 0
        })
        .catch((error) => {
            // Output dell'errore
            outlet(1, `Errore: ${error.message}`); // Invia l'errore all'uscita 1
        });
}

Qualsiasi suggerimento sarebbe davvero utile! Voglio che questo progetto sia il più completo possibile per il mio esame.

Grazie mille in anticipo per l'aiuto!


vilts.ch's icon

Hi,

Could you specify what is it that isn't working?