API 文件
有問題嗎? 聯絡我們。
所有 API 請求必須透過 HTTPS,並使用 HTTP Basic Auth 搭配以下憑證:
Username: API KEY
Password: Not needed
範例
curl https://api.printfriendly.com/v1/pdfs/create /
-u your_api_key: /
-d page_url=https://en.wikipedia.org/wiki/Eclipse
旗幟 | 描述 |
|---|---|
-u | 傳遞基本認證憑據,API金鑰後的冒號可以防止cURL請求密碼。 |
-d | 在POST請求中發送資料 |
在成功的情況下,您將收到狀態302(重定向)的HTTP回應,JSON資訊將在回應正文中。
# HTTP RESPONSE
# HEADERS (some of headers are ommited)
Content-Type: application/json; charset=utf-8
Status: 302 Found
Location: https://v.printfriendly.com/system/pdfs/pdf_1480936999_755625A4.pdf
# BODY
{"success":"Redirect to https://v.printfriendly.com/system/pdfs/pdf_1480947535_6e7ecaA4.pdf"}
API版本
API 的目前版本是 1.0。
主要 API 版本必須在 URL 中以 'v' 和數字的形式提供,例如 v1、v2、v3。
範例
https://api.printfriendly.com/v2/pdf/create
https://api.printfriendly.com/v2/html/create
API 方法
方法 | 輸入 | 輸出 |
|---|---|---|
PDF / 建立 | URL / HTML | HTML |
html / 建立 | URL / HTML |
參數
您必須提供 page_url 或 html 參數。所有其他參數都是可選的。
參數 | 值 |
|---|---|
頁面網址 | 目標頁面的 URL |
HTML | 目標頁面的HTML內容 |
css_url | 自訂CSS檔案的URL |
header_image_url | 自訂標頭圖像的 URL |
標題文字 | 文字字串 |
以下所有範例均為 "pdf/create" 方法提供,同時也適用於 "html/create" 方法。
帶有 page_url 參數的範例
curl https://api.printfriendly.com/v1/pdfs/create /
-u your_api_key: /
-d page_url=https://test.test /
-d css_url=https://my-site.com/pdf_style.css /
-d header_text='My Custom Header'
在成功的情況下,您將收到狀態302(重定向)的HTTP回應,JSON資訊將在回應正文中。
範例包含 html 參數
curl https://api.printfriendly.com/v1/pdfs/create /
-u your_api_key: /
-d html='<html><body><h1>Title</h1><p>Text text text text text text text text text</p></body></html>'
在成功的情況下,您將收到狀態碼為200的HTTP回應,以及回應正文中的PDF/HTML內容。
錯誤
PrintFriendly 使用傳統狀態碼和 JSON 回應提供錯誤詳情。
狀態碼
狀態 | 描述 |
|---|---|
200 好 | 一切正常。 |
400 錯誤請求 | 發生錯誤。請在 JSON 中查看詳細資訊。 |
401 未授權 | 401 未授權 |
404 找不到 | 404 找不到 |
429 請求過多 | 429 請求過多 |
所有未成功(非狀態 302 OK)回應都包含帶有錯誤詳細資訊的 JSON 主體,其中包括錯誤類型和訊息。
錯誤類型
類型 | 描述 |
|---|---|
參數驗證 | 參數驗證失敗。 |
禁止的網域 | 該域名已被暫時禁止。 |
解析失敗 | 無法解析頁面。我們無法判斷此頁面的內容。 |
提取錯誤 | 無法擷取頁面。請檢查 URL 是否可存取,然後再試一次。 |
高負載 | 參數驗證失敗。 |
無效的檔案副檔名 | 僅支援網頁。這是 PDF/TXT 檔案或圖片 (JPG, PNG, GIF)。 |
大頁面 | 目標頁面超過2MB。不支援大型頁面。 |
安全平台 | 安全平台阻止我們提取此頁面。 |
逾時 | 超時。引擎無法在30秒內處理頁面。請稍後再試。 |
通用 | 發生意外錯誤,請稍後再試。 |
範例
curl https://api.printfriendly.com/v1/pdfs/create /
-u your_api_key: /
-d page_url=https://test.test
HTML輸入
# HTTP RESPONSE
# HEADERS (some of headers were ommited)
Content-Type: application/json; charset=utf-8/
Status: 400 Bad Request
# BODY (JSON)
{"status":"failed","message":"Print technology unable to download or parse content"}
請求速率限制
API 每分鐘限制 60 次請求。如果您超出此限制,您會收到狀態:429 請求太多 的回應。
標題 | 描述 |
|---|---|
X-頻率限制 | 當前期間的總請求限制。 |
X-剩餘限額 | 當前時期的剩餘請求。 |
重設 X-RateLimit | 直到目前期間結束的秒數。 |
使用 page_url 參數的範例
# HEADERS (some of headers were ommited)
Status: 429 Too Many Requests
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 20
# BODY (JSON)Empty