slogan3

Ontwikkel een Ruby-script voor API-integratie

description

Met deze prompt kun je snel een Ruby-script maken dat naadloos met externe APIs communiceert. Het bespaart tijd bij het opzetten van verbindingen en zorgt voor betrouwbare gegevensuitwisseling dankzij ingebouwde foutafhandeling. Het is ideaal voor ontwikkelaars die Ruby willen gebruiken voor moderne webservices en automatisering.

prompt

Help me een Ruby-script te schrijven dat communiceert met de volgende API: <voer de API-URL in> Gebruik de volgende authenticatiemethode: <beschrijf de authenticatie, bijvoorbeeld API ...

try_prompt

generate_helper
disclaimerOnPageApi

ai_answers

provider: openai
model: gpt-4.1-nano
Hier is een voorbeeld van een Ruby-script dat communiceert met de API van weather.com om een 5-daagse weersvoorspelling op te halen. Het gebruikt een Bearer-token voor authenticatie en bevat foutafhandeling. **Let op:** Vervang `YOUR_API_KEY_HERE` door je daadwerkelijke API-sleutel en pas eventueel de parameters aan (zoals locatie). ```ruby require 'net/http' require 'uri' require 'json' # Configuratie API_URL = 'https://api.weather.com/v3/wx/forecast/daily/5day' API_KEY = 'YOUR_API_KEY_HERE' # Vervang dit met je API-sleutel LATITUDE = '52.3676' # Vervang door je gewenste locatie (bijvoorbeeld: Amsterdam) LONGITUDE = '4.9041' # Opbouwen van de URI met query parameters uri = URI(API_URL) params = { apiKey: API_KEY, geocode: "#{LATITUDE},#{LONGITUDE}", format: 'json' } uri.query = URI.encode_www_form(params) begin # HTTP GET verzoek response = Net::HTTP.get_response(uri) # Foutafhandeling op basis van HTTP status case response when Net::HTTPSuccess # JSON-parsing data = JSON.parse(response.body) # Hier kun je de data verwerken, bijvoorbeeld: puts JSON.pretty_generate(data) else puts "Fout bij ophalen data: #{response.code} #{response.message}" end rescue StandardError => e puts "Er is een fout opgetreden: #{e.message}" end ``` **Wat moet je doen:** - Vervang `'YOUR_API_KEY_HERE'` door je daadwerkelijke API-sleutel. - Pas de `LATITUDE` en `LONGITUDE` aan naar de locatie waarvoor je de weersvoorspelling wilt. - Het script haalt de gegevens op en toont ze in een leesbare JSON-indeling. **Optioneel:** Je kunt de data verder verwerken, bijvoorbeeld alleen bepaalde velden tonen of opslaan in een bestand. Heeft je nog verdere wensen of vragen?
provider: deepseek
model: deepseek-chat
Hier is een Ruby-script dat communiceert met de Weather API: ```ruby require 'net/http' require 'uri' require 'json' class WeatherAPI BASE_URL = 'https://api.weather.com/v3/wx/forecast/daily/5day'.freeze def initialize(api_key, bearer_token) @api_key = api_key @bearer_token = bearer_token end def fetch_weather_forecast(location_params) # Vereiste parameters voor de API params = { apiKey: @api_key, format: 'json', language: 'nl-NL', units: 'm' }.merge(location_params) uri = URI(BASE_URL) uri.query = URI.encode_www_form(params) request = Net::HTTP::Get.new(uri) request['Authorization'] = "Bearer #{@bearer_token}" request['Accept'] = 'application/json' response = make_request(uri, request) handle_response(response) rescue StandardError => e puts "Fout bij het ophalen van weergegevens: #{e.message}" nil end private def make_request(uri, request) Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http| http.request(request) end end def handle_response(response) case response when Net::HTTPSuccess JSON.parse(response.body) when Net::HTTPUnauthorized raise 'Ongeldige authenticatie - controleer je API-sleutel en Bearer token' when Net::HTTPNotFound raise 'Weersvoorspelling niet gevonden voor de opgegeven locatie' else raise "API-fout: #{response.code} - #{response.message}" end end end # Gebruiksvoorbeeld: begin # Vervang met je eigen credentials api_key = 'JOUW_API_SLEUTEL' bearer_token = 'JOUW_BEARER_TOKEN' # Locatie parameters (voorbeeld voor Amsterdam) location_params = { geocode: '52.3676,4.9041' # breedtegraad, lengtegraad # of gebruik: postalKey: '1011AA:NL' voor postcode } weather_api = WeatherAPI.new(api_key, bearer_token) forecast_data = weather_api.fetch_weather_forecast(location_params) if forecast_data puts "Weersvoorspelling succesvol opgehaald:" puts JSON.pretty_generate(forecast_data) # Voorbeeld van hoe je specifieke gegevens kunt extraheren: if forecast_data['dayOfWeek'] puts "\nKomende 5 dagen voorspelling:" forecast_data['dayOfWeek'].each_with_index do |day, index| puts "#{day}: Max #{forecast_data['temperatureMax'][index]}°C, Min #{forecast_data['temperatureMin'][index]}°C" end end else puts 'Kon weersvoorspelling niet ophalen' end rescue StandardError => e puts "Er is een fout opgetreden: #{e.message}" end ``` **Benodigde gegevens om te verzenden:** 1. **API-sleutel** - Je persoonlijke API-key van Weather.com 2. **Bearer Token** - Jouw authenticatietoken 3. **Locatieparameters** - Bijvoorbeeld: - `geocode`: breedtegraad,lengtegraad (bijv. '52.3676,4.9041') - `postalKey`: postcode:landcode (bijv. '1011AA:NL') - `icaoCode`: ICAO-luchthavencode - `iataCode`: IATA-luchthavencode **Te ontvangen gegevens (JSON):** - `dayOfWeek`: Dagen van de week - `narrative`: Weersbeschrijvingen - `temperatureMax`: Maximumtemperaturen - `temperatureMin`: Minimumtemperaturen - `precipChance`: Neerslagkans - `windSpeed`: Windsnelheid - `humidity`: Luchtvochtigheid - En vele andere weergerelateerde gegevens **Installatievereisten:** ```bash gem install json ``` **Foutafhandeling bevat:** - HTTP-statuscode controle - JSON parseerfouten - Netwerkfouten - Authenticatiefouten - Timeout handling (kan worden toegevoegd met `read_timeout`) - Duidelijke foutmeldingen Vergeet niet je eigen API-sleutel en Bearer token te gebruiken van het Weather.com developer portal!