Interfejs Developer API zapewnia dostęp do metadanych wszystkich obsługiwanych rodzin w Google Fonts. Umożliwia aplikacjom wysyłanie zapytań Czcionki Google dla dostępnych rodzin czcionek. Interfejs API REST dostarcza dane w formacie JSON, który obejmuje style i skrypty (nazywanych podzbiorami w Google Fonts) w każdej rodzinie. Interfejs API może sortować listę rodzin alfabetycznie, według daty dodania, liczby stylów, trendu lub według popularności.
Odbiorcy
Ten dokument jest przeznaczony dla programistów stron internetowych i aplikacji. Korzystanie z Interfejs Developer API wymaga znajomości języka JavaScript.
Krótki przykład
Aby pobrać dynamiczną listę czcionek oferowanych przez usługę Google Fonts, wyślij to żądanie:
https://www.googleapis.com/webfonts/v1/webfonts?key=YOUR-API-KEY
Przykładowy wynik będzie wyglądał tak:
{ "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" }, [...] ] }
Identyfikowanie aplikacji dla Google
Aplikacja musi identyfikować się za każdym razem, gdy wysyła żądanie do interfejs Google Fonts Developer API, dodając klucz interfejsu API do każdego z nich użytkownika.
Uzyskiwanie i używanie klucza interfejsu API
Kup kluczMożesz też utworzyć je na stronie Dane logowania.
Gdy uzyskasz klucz interfejsu API, aplikacja może dołączać parametr zapytania
key=yourAPIKey
do wszystkich adresów URL żądań.
Klucz interfejsu API można bezpiecznie umieszczać w adresach URL, więc nie trzeba go kodować.
Szczegóły
Odpowiedź JSON (patrz przykład powyżej) składa się z tablicy o nazwie „items”. który zawiera obiekty z informacjami o poszczególnych rodzinach czcionek.
Obiekt rodziny składa się z tych pól:
- rodzaju: rodzaj obiektu, obiekt czcionki internetowej;
- rodzina: nazwa rodziny;
- podzbiory: lista skryptów obsługiwanych przez rodzinę,
- menu: adres URL do podzbioru rodziny obejmującego tylko nazwę rodziny.
- warianty: różne style dostępne dla rodziny.
- version: wersja rodziny czcionek.
- osie: zakres osi; prezentowany tylko na żądanie(patrz poniżej) w przypadku czcionek zmiennych.
- lastModify: data (w formacie „rrrr-MM-dd”) data modyfikacji rodziny czcionek dla po raz ostatni.
- pliki: pliki rodziny czcionek (ze wszystkimi obsługiwanymi skryptami) dla każdego dostępnych wariantów.
Łącząc informacje dotyczące każdej rodziny, można łatwo utworzyć interfejs Fonts API. użytkownika. Zakładając na przykład, że mamy odniesienie do obiektu rodzinnego Anonimowy:
[...] 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(''); [...]
Sortowanie
Lista rodzin jest domyślnie zwracana w żadnej kolejności. Jest można ją jednak posortować przy użyciu parametru sort:
https://www.googleapis.com/webfonts/v1/webfonts?sort=popularity
Możliwe wartości sortowania:
- alfa: alfabetyczne sortowanie listy
- data: sortowanie listy według daty dodania (czcionka, która została dodana lub zaktualizowana jako ostatnia)
- popularność: sortowanie listy według popularności (najpierw najpopularniejsze rodziny).
- styl: sortowanie listy według liczby dostępnych stylów (rodzina z największą liczbą stylów) )
- trendy: posortuj listę według rodzin, w których rośnie intensywność korzystania z tej usługi (rodzina widzi najpierw największe wzrosty)
Filtrowanie
Zapytanie dotyczące konkretnej rodziny
https://www.googleapis.com/webfonts/v1/webfonts?family=family_name
Wszystkie rodziny wspierające podgrupę grecką
https://www.googleapis.com/webfonts/v1/webfonts?subset=subset_name
Optymalizacja
Do pobierania plików czcionek skompresowanych w formacie woff2
https://www.googleapis.com/webfonts/v1/webfonts?capability=WOFF2
Czcionki zmienne
Czcionki zmiennoprzecinkowe umożliwiają stosowanie ciągłych zakresów stylów. Domyślnie będzie to kombinacja
pliki czcionek statycznych są zwracane w przypadku czcionek zmiennych w wystąpieniu standardowym
pozycji.
Jeśli skonfigurowano ustawienie capability=VF
, zwracany jest plik czcionki zmiennej zamiast statycznego
wraz z dostępnymi metadanymi zakresów osi.
przykładowy przykład:
https://www.googleapis.com/webfonts/v1/webfonts?capability=VF
Przykładowa odpowiedź:
{ "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 } ] }, [...] ] }
Specyfikacja adresu URL interfejsu API
webfonts?key=<your_key>[&family=<family>][&subset=<subset>][&capability=<capability>...][&sort=<sort>]
your_key
: klucz interfejsu API dewelopera.
family
: nazwa rodziny czcionek.
subset
: nazwa podzbioru czcionek.
capability
: VF
| WOFF2
sort
: alpha
| date
| popularity
| style
| trending
.