API Developer

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 chiave

In 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,