- この記事は、Google Fontsに関する記事を和訳したものです。
- 原文: Developer API
- 元記事のライセンスは CC-BYで、この和訳記事のライセンスは CC-BYです。
- 自己責任でご利用ください。
- 和訳した時期は 2017年3月ころです。
Developer APIは、Google Fontsによって提供されるすべてのファミリーのために利用可能なメタデータへのアクセスを与えます。 それは、Google Fontsにクエリし、現在利用可能なファミリーの正確なリストを取得できることによって、動的なアプリを作成できるようにします。 REST APIは、JSON形式のデータへのアクセスを与え、それは、それぞれのファミリーのために、利用可能なスタイルのリストおよびサポートされるスクリプトのリスト(Google Fontsのサブセットと呼ばれる)を含んでいます。 APIは、ファミリーのリストを、アルファベット順、追加された日付によって、スタイルの数によって、トレンドによって、あるいは認んきによってソートするためのオプションを与えます。 時間の経過とともに、多くのデータが追加されるかもしれません。
聴衆
このドキュメントは、ウェブおよびアプリケーション開発者を対象としています; Developer APIを使用することは、JavaScriptの知識を必要とします。
簡単な例
Google Fontsサービスによって提供されるフォントの動的なリストを取得するには、次のリクエストを送信します:
https://www.googleapis.com/webfonts/v1/webfonts?key=YOUR-API-KEY
結果のサンプルは、次のようになります:
{ "kind": "webfonts#webfontList", "items": [[...]
{ "kind": "webfonts#webfont", "family": "Anonymous Pro", "variants": [ "regular", "italic", "700", "700italic" ], "subsets": [ "greek", "greek-ext", "cyrillic-ext", "latin-ext", "latin", "cyrillic" ], "version": "v3", "lastModified": "2012-07-25", "files": { "regular": "http://themes.googleusercontent.com/static/fonts/anonymouspro/v3/Zhfjj_gat3waL4JSju74E-V_5zh5b-_HiooIRUBwn1A.ttf", "italic": "http://themes.googleusercontent.com/static/fonts/anonymouspro/v3/q0u6LFHwttnT_69euiDbWKwIsuKDCXG0NQm7BvAgx-c.ttf", "700": "http://themes.googleusercontent.com/static/fonts/anonymouspro/v3/WDf5lZYgdmmKhO8E1AQud--Cz_5MeePnXDAcLNWyBME.ttf", "700italic": "http://themes.googleusercontent.com/static/fonts/anonymouspro/v3/_fVr_XGln-cetWSUc-JpfA1LL9bfs7wyIp6F8OC9RxA.ttf" } }, { "kind": "webfonts#webfont", "family": "Antic", "variants": [ "regular" ], "subsets": [ "latin" ], "version": "v4", "lastModified": "2012-07-25", "files": { "regular": "http://themes.googleusercontent.com/static/fonts/antic/v4/hEa8XCNM7tXGzD0Uk0AipA.ttf" } },
[...]
] }
あなたのアプリケーションを Googleに識別させる
あなたのアプリケーションは、Google Fonts Developer APIにリクエストを送信するたびに、自身を識別させる必要があります、それは、それぞれのリクエストに API keyを含むことによって。
APIキーを取得し使用する
キーを取得するあるいは、Credentials pageにて、それを作成します。
APIキーを取得した後、あなたのアプリケーションは、すべてのリクエスト URLに、クエリパラメータ key=yourAPIKey
を追加することができます。
APIキーは URLに組み込むののに安全です; それはエンコーディングを必要としません。
詳細
JSON応答(上記のサンプルを参照)は、それぞれのフォントファミリーについての情報を伴うオブジェクトを含む、 "items" と名付けられた配列で構成されています。
ファミリーオブジェクトは、4つのフィールドで構成されています:
- kind: オブジェクトの種類、ウェブフォントオブジェクト
- family: ファミリーの名前
- subsets: ファミリーによってサポートされるスクリプトのリスト
- variants: ファミリーのために利用可能な異なるスタイル
- version: フォントファミリーのバージョン。
- lastModified: フォントファミリーが最後に変更された日付(形式 "yyyy-MM-dd")。
- files: 利用可能なバリアントそれぞれのためのフォントファミリーファイル(サポートされるすべてのスクリプトを伴う)。
それぞれのファミリーの情報を組み合わせることによって、Fonts APIリクエストを作成することは簡単です。 例えば、Anonymous Proのためのファミリーオブジェクトへの参照を持っていると想定します:
[...] var apiUrl = []; apiUrl.push('//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: '//fonts.googleapis.com/css?family=Anonymous+Pro:italic&subset=greek' var url = apiUrl.join(''); [...]
ファミリーのリストは、デフォルトでは、特定の順序で返されません。 しかしながら、ソートパラメータを使用して、リストをソートすることは可能です:
https://www.googleapis.com/webfonts/v1/webfonts?sort=popularity
可能なソート値は次のとおりです:
- alpha: リストをアルファベット順にソートする
- date: リストを追加された日付によってソートする (元も最近に追加あるいは更新されたフォントが最初)
- popularity: リストを人気順によってソートする (最も人気のあるファミリーが最初)
- style: リストを利用可能なスタイルの数によってリストする (最もスタイルを伴うファミリーが最初)
- trending: リストを使用量の成長を確認しているファミリーによってソートする (最も成長を確認しているファミリーが最初)