Entwickler-API

Die Developer API gewährt für alle bereitgestellten Familien Zugriff auf die Metadaten. von Google Fonts. Damit können Apps Google Fonts für die verfügbaren Schriftfamilien. Die Die REST API stellt Daten im JSON-Format bereit, die die Stile und Skripts enthalten. (in Google Fonts als Unterkategorien bezeichnet) in jeder Familie. Die API kann die Liste alphabetisch, nach Hinzufügungsdatum, nach Anzahl der Stile, nach Trend oder nach Beliebtheit.

Zielgruppe

Dieses Dokument richtet sich an Web- und Anwendungsentwickler. Mit der Die Developer API erfordert JavaScript-Kenntnisse.

Ein kurzes Beispiel

Um die Liste der vom Google Fonts-Dienst angebotenen dynamischen Schriftarten abzurufen, senden Sie die folgende Anfrage stellen:

https://www.googleapis.com/webfonts/v1/webfonts?key=YOUR-API-KEY

Ein Beispiel des Ergebnisses würde so aussehen:

{
 "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"
  },
  [...]
 ]
}

Anwendung für Google identifizieren

Ihre Anwendung muss sich jedes Mal identifizieren lassen, wenn sie eine Anfrage an der Google Fonts Developer API, indem Sie jeweils einen API-Schlüssel

API-Schlüssel erhalten und nutzen

Schlüssel anfordern

Alternativ können Sie auf der Seite "Anmeldedaten" einen Schlüssel erstellen.

Nachdem Sie einen API-Schlüssel haben, kann Ihre Anwendung den Abfrageparameter key=yourAPIKey an alle Anfrage-URLs anhängen.

Der API-Schlüssel lässt sich sicher in URLs einbetten. Eine Codierung ist nicht notwendig.

Details

Die JSON-Antwort (siehe Beispiel oben) besteht aus einem Array mit dem Namen „items“. die Objekte mit Informationen über jede Schriftfamilie enthält.

Ein Familienobjekt besteht aus den folgenden Feldern:

  • kind: Die Art des Objekts, ein Webfont-Objekt.
  • Familie: der Name der Familie
  • Teilmengen: Eine Liste der von der Familie unterstützten Skripts
  • Menü: Eine URL zur Untergruppe, die nur den Namen der Familie abdeckt.
  • Varianten: Die verschiedenen für die Familie verfügbaren Stile
  • version: Die Version der Schriftfamilie.
  • Achsen: Achsenbereich, Nur auf Anfrage vorhanden(siehe unten) für variable Schriftarten.
  • lastModified: das Datum (Format "jjjj-MM-tt"), für das die Schriftfamilie geändert wurde beim letzten Mal.
  • files: Die Schriftfamiliendateien (mit allen unterstützten Skripts) für jede der verfügbaren Varianten.

Durch die Kombination der Informationen für jede Familie ist es ganz einfach, eine Fonts API zu erstellen. Angenommen, wir haben einen Verweis auf das Familienobjekt für Anonymer Pro:

[...]

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('');

[...]

Sortieren

Die Liste der Familien wird standardmäßig in keiner bestimmten Reihenfolge zurückgegeben. Es ist Sie können die Liste jedoch mithilfe des Sortierparameters sortieren:

https://www.googleapis.com/webfonts/v1/webfonts?sort=popularity

Folgende Sortierwerte sind möglich:

  • alpha: Liste alphabetisch sortieren
  • date: Liste nach dem Datum sortieren, an dem die neueste Schriftart zuerst hinzugefügt oder aktualisiert wurde
  • Popularität: Liste nach Beliebtheit sortieren (beliebteste Familie zuerst)
  • style: Liste nach der Anzahl der verfügbaren Stile sortieren (Familie mit den meisten Stilen) zuerst)
  • Trends: Sortieren Sie die Liste nach Familien mit steigender Nutzung (Familie, die größtes Wachstum zuerst)

Filtern

Eine bestimmte Familie abfragen

https://www.googleapis.com/webfonts/v1/webfonts?family=family_name

Alle Familien, die die griechische Untergruppe unterstützen

https://www.googleapis.com/webfonts/v1/webfonts?subset=subset_name

Optimierung

Zum Abrufen von im WOFF2-Format komprimierten Schriftartdateien

https://www.googleapis.com/webfonts/v1/webfonts?capability=WOFF2

Variable Schriftarten

Variable Schriftarten bieten fortlaufende Vielfalt an Stilen. Standardmäßig wird eine Kombination aus Static Fonts-Dateien werden für variable Schriftarten zurückgegeben, die in Standard- Positionen. Wenn capability=VF festgelegt ist, wird die Schriftartdatei mit der Variablen anstelle einer statischen Datei zurückgegeben. zusammen mit den verfügbaren Metadaten für den Achsenbereich. Beispielbeispiel:

https://www.googleapis.com/webfonts/v1/webfonts?capability=VF

Beispielantwort:

{
 "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
      }
    ]
  },
  [...]
 ]
}

API-URL-Spezifikation

webfonts?key=<your_key>[&family=<family>][&subset=<subset>][&capability=<capability>...][&sort=<sort>]

your_key: Ihr Entwickler-API-Schlüssel.

family: Name einer Schriftfamilie.

subset: Name einer Schriftartuntergruppe.

capability: VF | WOFF2

sort: alpha | date | popularity | style | trending