Leggi una risposta oEmbed
Leggi una scheda incorporabile o l’anteprima di un URL Veil supportato.
/oembed- Accesso
- Pubblico; chiave API facoltativa
- Client
- Fetch dal browser supportato
Parametri#
| Nome | Posizione | Significato |
|---|---|---|
urlObbligatorio | Query | URL Veil di una persona, organizzazione o verifica /v/. |
format | Query | json. XML non è supportato. |
maxwidth | Query | Larghezza massima facoltativa. Sotto 280 produce una risposta link. |
maxheight | Query | Altezza massima facoltativa. Sotto 200 produce una risposta link. |
Esempi di richiesta#
curl -fsS 'https://veil.rip/oembed?url=https%3A%2F%2Fveil.rip%2Fo%2Fveil&format=json'const response = await fetch("https://veil.rip/oembed?url=https%3A%2F%2Fveil.rip%2Fo%2Fveil&format=json");
const result = await response.json();Prova la richiesta#
Risposta#
Una scheda può restituire type rich con HTML del widget, dimensioni e metadati della miniatura. Limiti piccoli o link di verifica restituiscono type link.
| Campo | Tipo | Significato |
|---|---|---|
version | string | Versione 1.0 del protocollo oEmbed. |
type | string | rich per il widget di una scheda; link per i link di verifica o dimensioni restrittive. |
provider_name | string | Veil. |
provider_url | string | URL di base della rubrica. |
cache_age | integer | Durata suggerita della cache in secondi. |
title | string | Titolo leggibile. |
author_name | string, optional | Nome visualizzato, se noto. |
author_url | string, optional | URL permanente della scheda dell’autore. |
html | string, optional | HTML dell’iframe per type=rich. |
width | integer, optional | Larghezza del widget per type=rich. |
height | integer, optional | Altezza del widget per type=rich. |
thumbnail_url | string, optional | Immagine della scheda generata dal server. |
thumbnail_width | integer, optional | Larghezza dell’anteprima in pixel. |
thumbnail_height | integer, optional | Altezza dell’anteprima in pixel. |
Intestazioni della risposta#
| Intestazione | Valore | Significato |
|---|---|---|
Content-Type | application/json | Usa il tipo dichiarato per scegliere come leggere il corpo. |
Date | HTTP date | Ora del server. Confrontala con il tuo orologio per firmare le richieste. |
Cache-Control | public, max-age=300 | Le anteprime del server possono restare in cache per cinque minuti. |
Retry-After | integer seconds, on rate_limited or busy | Attendi almeno questo intervallo prima di riprovare. Altri codici 429/503 non lo includono necessariamente. |
Errori#
Gli errori API restituiscono un oggetto error. Usa error.code nella logica del programma; error.message è un testo inglese per le persone e può cambiare. Guida a risposte ed errori
| HTTP | Codice | Significato e cosa fare |
|---|---|---|
| 400 | invalid_parameter | Un campo del percorso, della query o del corpo manca, è malformato o fuori intervallo. Correggi il campo indicato in |
| 404 | not_found | La scheda, la chiave, l’alias, il codice o la risorsa richiesti non sono stati trovati. Controlla l’identificatore. Codici e anteprime temporanei potrebbero essere scaduti o già usati. |
| 501 | format_not_implemented | Sono supportate soltanto le risposte oEmbed in JSON. Richiedi format=json. |
Quando usi una chiave API facoltativa
| HTTP | Codice | Significato e cosa fare |
|---|---|---|
| 401 | invalid_api_key | La credenziale Bearer è malformata, sconosciuta, scaduta o revocata. Usa una chiave attiva. Per l’accesso pubblico anonimo, rimuovi del tutto |
| 403 | api_key_scope | La chiave API non ha il permesso read o verify, oppure l’endpoint non accetta chiavi Bearer. Usa il permesso corretto. Le modifiche alle schede e la gestione delle chiavi richiedono una firma del dispositivo. |
| 403 | api_key_suspended | Questa chiave API è sospesa. Chiedi allo staff di ripristinarla; un’altra chiave non rimuove la sospensione dell’account. |
| 403 | developer_suspended | L’account API del titolare è sospeso oppure la scheda titolare non è disponibile. Controlla l’account titolare e le restrizioni dello staff. Creare un’altra chiave non aggira la sospensione. |
Errori comuni delle richieste
| HTTP | Codice | Significato e cosa fare |
|---|---|---|
| 429 | rate_limited | È stato superato un limite anonimo, delle richieste firmate o della chiave API. Attendi almeno i secondi indicati da |
| 500 | internal_error | Si è verificato un errore imprevisto del server. I dettagli interni non vengono restituiti. Riprova le letture con attese crescenti e un limite. Controlla l’esito delle scritture prima di inviare una nuova operazione firmata. |
| 503 | busy | L’applicazione ha raggiunto un limite temporaneo di concorrenza o del database. Attendi i secondi indicati da |