Go
在 Go 中使用簽署網址
用 Go SDK 產生簽署網址。有人開啟這個網址時,它會渲染範本圖片。
GenerateImageSignedURL 會建立一個連結,在有人開啟時渲染圖片。它不會發出任何網路請求:SDK 會在你的伺服器上,用你的 API 金鑰為網址簽署。
請求
它接受範本 ID 和 *CreateImageOptions。傳入 nil 則使用預設值。
範本 ID,例如 tpl_xxx。
要放進範本圖層的值。它們會放在網址中傳送,所以請保持簡短。每種圖層接受哪些欄位,請見 Modifications。
圖片格式:png、jpeg 或 webp。傳入其他值時,這個方法會回傳錯誤。
Go SDK 沒有 nocache 選項。自行建立網址時如何略過快取,請見簽署網址。
signedURL, err := client.GenerateImageSignedURL("tpl_xxx", &bannerify.CreateImageOptions{
Modifications: []bannerify.Modification{
{Name: "headline", Text: ptr("Hello, Ada")},
},
Format: "jpeg",
})
if err != nil {
return err
}
回應
這個方法會以字串回傳網址:
https://api.bannerify.co/v1/templates/signedurl?apiKeyHashed=2f5a...&format=jpeg&modifications=%5B...%5D&sign=ce2d...&templateId=tpl_xxx
apiKeyHashed 告訴 Bannerify 是哪個金鑰簽署了這個網址。sign 是以你的 API 金鑰為金鑰,對其他參數計算的 HMAC-SHA256。任何人都無法在不破壞簽章的情況下,變更簽署網址中的範本或 modifications,所以你可以把這個網址放進網頁、電子郵件或 meta 標籤中。
tag := fmt.Sprintf(`<img src="%s" alt="Welcome banner">`, html.EscapeString(signedURL))
Bannerify 最多會快取渲染好的圖片 7 天。快取、配額和上限的說明,請見簽署網址。