Developer API



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