L'API Developer fornisce l'accesso ai metadati per tutte le famiglie servite di Google Fonts. Consente alle app di eseguire query Google Fonts per le famiglie di caratteri disponibili. La L'API REST fornisce i dati nel formato JSON, che include stili e script (chiamati sottoinsiemi in Google Fonts) in ogni famiglia. L'API può ordinare l'elenco le famiglie in ordine alfabetico, per data di aggiunta, per numero di stili, per tendenza o per popolarità.
Pubblico
Questo documento è rivolto agli sviluppatori di applicazioni e web. L'utilizzo del L'API Developer richiede la conoscenza di JavaScript.
Un esempio rapido
Per recuperare l'elenco dinamico di caratteri offerti dal servizio Google Fonts, invia la seguente richiesta:
https://www.googleapis.com/webfonts/v1/webfonts?key=YOUR-API-KEY
Ecco un esempio di risultato:
{ "kind": "webfonts#webfontList", "items": [ [...] { "family": "Anonymous Pro", "variants": [ "regular", "italic", "700", "700italic" ], "subsets": [ "cyrillic", "greek", "latin", "latin-ext" ], "version": "v21", "lastModified": "2022-09-22", "files": { "regular": "http://fonts.gstatic.com/s/anonymouspro/v21/rP2Bp2a15UIB7Un-bOeISG3pLlw89CH98Ko.ttf", "italic": "http://fonts.gstatic.com/s/anonymouspro/v21/rP2fp2a15UIB7Un-bOeISG3pHl428AP44Kqr2Q.ttf", "700": "http://fonts.gstatic.com/s/anonymouspro/v21/rP2cp2a15UIB7Un-bOeISG3pFuAT0CnW7KOywKo.ttf", "700italic": "http://fonts.gstatic.com/s/anonymouspro/v21/rP2ap2a15UIB7Un-bOeISG3pHl4OTCzc6IG30KqB9Q.ttf" }, "category": "monospace", "kind": "webfonts#webfont", "menu": "http://fonts.gstatic.com/s/anonymouspro/v21/rP2Bp2a15UIB7Un-bOeISG3pHl028A.ttf" }, { "family": "Antic", "variants": [ "regular" ], "subsets": [ "latin" ], "version": "v19", "lastModified": "2022-09-22", "files": { "regular": "http://fonts.gstatic.com/s/antic/v19/TuGfUVB8XY5DRaZLodgzydtk.ttf" }, "category": "sans-serif", "kind": "webfonts#webfont", "menu": "http://fonts.gstatic.com/s/antic/v19/TuGfUVB8XY5DRZZKq9w.ttf" }, [...] ] }
Identificazione dell'applicazione per Google
La tua applicazione deve identificarsi ogni volta che invia una richiesta a L'API Google Fonts Developer, includendo una chiave API in ogni richiesta.
Acquisizione e utilizzo di una chiave API
Ottieni una chiaveIn alternativa, creane una nella pagina Credenziali.
Dopo aver ottenuto una chiave API, l'applicazione può aggiungere il parametro di query
key=yourAPIKey
a tutti gli URL delle richieste.
La chiave API può essere incorporata in modo sicuro negli URL. non necessita di alcuna codifica.
Dettagli
La risposta JSON (vedi l'esempio sopra) è composta da un array chiamato "items" che contiene oggetti con informazioni su ciascuna famiglia di caratteri.
Un oggetto famiglia è composto dai seguenti campi:
- type: il tipo di oggetto, un oggetto webfont
- family: il nome della famiglia
- sottoinsiemi: un elenco di script supportati dalla famiglia
- menu: un URL al sottoinsieme della famiglia che copre solo il nome della famiglia.
- varianti: i diversi stili disponibili per la famiglia
- version: la versione della famiglia di caratteri.
- assi: intervallo di assi, presente solo su richiesta(vedi di seguito) per caratteri variabili.
- lastModificato: la data (formato "aaaa-MM-gg") per cui è stata modificata la famiglia di caratteri. l'ultima volta.
- file: i file delle famiglie di caratteri (con tutti gli script supportati) per ciascuno degli varianti disponibili.
Combinando le informazioni per ogni famiglia è facile creare un'API Fonts richiesta. Ad esempio, supponendo di avere un riferimento all'oggetto famiglia Professionista anonimo:
[...] var apiUrl = []; apiUrl.push('https://fonts.googleapis.com/css?family='); apiUrl.push(anonymousPro.family.replace(/ /g, '+')); if (contains('italic', anonymousPro.variants)) { apiUrl.push(':'); apiUrl.push('italic'); } if (contains('greek', anonymousPro.subsets)) { apiUrl.push('&subset='); apiUrl.push('greek'); } // url: 'https://fonts.googleapis.com/css?family=Anonymous+Pro:italic&subset=greek' var url = apiUrl.join(''); [...]
Ordinamento
Per impostazione predefinita, l'elenco delle famiglie viene restituito in nessun ordine particolare. È è possibile, tuttavia, ordinare l'elenco utilizzando il parametro di ordinamento:
https://www.googleapis.com/webfonts/v1/webfonts?sort=popularity
I possibili valori di ordinamento sono:
- alpha: ordina l'elenco in ordine alfabetico
- data: ordina l'elenco in base alla data di aggiunta (il carattere più recente aggiunto o aggiornato per primo)
- popolarità: ordina l'elenco per popolarità (più popolare in base alla famiglia).
- style: ordina l'elenco per numero di stili disponibili (famiglia con la maggior parte degli stili) )
- di tendenza: ordina l'elenco per famiglie che registrano un aumento dell'utilizzo (i membri della famiglia che hanno registrato con la crescita maggiore)
Filtri
Eseguire una query su una famiglia specifica
https://www.googleapis.com/webfonts/v1/webfonts?family=family_name
Tutte le famiglie che supportano il sottoinsieme greco
https://www.googleapis.com/webfonts/v1/webfonts?subset=subset_name
Ottimizzazione
Per il recupero di file di caratteri compressi in formato woff2
https://www.googleapis.com/webfonts/v1/webfonts?capability=WOFF2
Caratteri variabili
I caratteri variabili offrono una gamma continua di stili. Per impostazione predefinita, una combinazione
vengono restituiti file di caratteri statici per i caratteri variabili creati a livello di
posizioni.
Se il criterio capability=VF
è impostato, viene restituito il file del carattere variabile anziché statico
quelli insieme ai metadati dell'intervallo di assi disponibili.
esempio di esempio:
https://www.googleapis.com/webfonts/v1/webfonts?capability=VF
Esempio di risposta:
{ "kind": "webfonts#webfontList", "items": [ [...] { "family": "Noto Sans Display", "variants": [ "regular", "italic" ], "subsets": [ "cyrillic", "cyrillic-ext", "greek", "greek-ext", "latin", "latin-ext", "vietnamese" ], "version": "v20", "lastModified": "2022-09-22", "files": { "regular": "http://fonts.gstatic.com/s/notosansdisplay/v20/RLplK4fy6r6tOBEJg0IAKzqdFZVZxokvfn_BDLxR.ttf", "italic": "http://fonts.gstatic.com/s/notosansdisplay/v20/RLpjK4fy6r6tOBEJg0IAKzqdFZVZxrktdHvjCaxRgew.ttf" }, "category": "sans-serif", "kind": "webfonts#webfont", "menu": "http://fonts.gstatic.com/s/notosansdisplay/v20/RLpbK4fy6r6tOBEJg0IAKzqdFZVZxpMkXJMhnB9XjO1o90LuV-PT4Doq_AKp_3cKZTCa3g.ttf", "axes": [ { "tag": "wdth", "start": 62.5, "end": 100 }, { "tag": "wght", "start": 100, "end": 900 } ] }, [...] ] }
Specifica URL API
webfonts?key=<your_key>[&family=<family>][&subset=<subset>][&capability=<capability>...][&sort=<sort>]
your_key
: la tua chiave API sviluppatore.
family
: nome di una famiglia di caratteri.
subset
: nome di un sottoinsieme di caratteri.
capability
: VF
| WOFF2
.
sort
: alpha
| date
| popularity
| style
| trending
,