Developer API

透過集合功能整理內容 你可以依據偏好儲存及分類內容。

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 金鑰」。

取得並使用 API 金鑰

取得金鑰

您也可以在「憑證」頁面建立憑證。

取得 API 金鑰後,您的應用程式即可在所有要求網址中附加查詢參數 key=yourAPIKey

API 金鑰可以安全地嵌入網址中,不需任何編碼。

詳情

JSON 回應 (請參照上方範例) 由名為「items」的陣列組成,其中包含含有每個字型系列相關資訊的物件。

家庭物件由 4 個欄位組成:

  • kind:物件種類,webfont 物件
  • 家庭:家族名稱
  • 子集:系列支援的指令碼清單
  • 子類:適合全家使用的不同樣式
  • version:字型系列版本。
  • lastModified:
  • 檔案:每個可用變體的字型系列檔案 (包含所有支援的指令碼)。

藉由結合每個家庭的資訊,您可以輕鬆建立 Fonts API 要求。例如,假設我們有匿名專業版的家庭物件參照:

[...]

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

[...]

系統預設依家庭順序傳回系列清單。不過,您可以使用排序參數來排序清單:

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

可能的排序值包括:

  • alpha:按字母順序排列清單
  • 日期:依新增日期排序清單 (最近新增或更新的字型為優先)
  • 熱門程度:依照熱門程度排序清單 (最熱門的家庭優先)
  • style:依可用樣式數量排序清單 (多數樣式的系列 優先)
  • 趨勢:依據用量增加的家庭排序清單 (家庭最先發現成長幅度)