- この記事は、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: リストを使用量の成長を確認しているファミリーによってソートする (最も成長を確認しているファミリーが最初)