Go
Go で署名付き URL を使う
Go SDK で署名付き URL を生成します。この URL は、開かれたときにテンプレートの画像をレンダリングします。
GenerateImageSignedURL は、開かれたときに画像をレンダリングするリンクを作ります。ネットワークリクエストは送りません。SDK が、API キーを使ってサーバー上で URL に署名します。
リクエスト
テンプレート ID と *CreateImageOptions を受け取ります。nil を渡すと既定値を使います。
テンプレート ID。たとえば tpl_xxx です。
テンプレートのレイヤーに設定する値。URL に含まれて送られるため、短くしてください。各レイヤーが受け付けるフィールドは、Modifications にあります。
画像の形式。png、jpeg、webp のいずれかです。それ以外の値を渡すと、メソッドはエラーを返します。
Go SDK に nocache オプションはありません。URL を自分で組み立てるときにキャッシュを使わない方法は、署名付き URLで説明しています。
signedURL, err := client.GenerateImageSignedURL("tpl_xxx", &bannerify.CreateImageOptions{
Modifications: []bannerify.Modification{
{Name: "headline", Text: ptr("Hello, Ada")},
},
Format: "jpeg",
})
if err != nil {
return err
}
レスポンス
メソッドは、URL を文字列で返します。
https://api.bannerify.co/v1/templates/signedurl?apiKeyHashed=2f5a...&format=jpeg&modifications=%5B...%5D&sign=ce2d...&templateId=tpl_xxx
apiKeyHashed は、どのキーが URL に署名したかを Bannerify に伝えます。sign は、ほかのパラメーターを API キーで署名した HMAC-SHA256 です。署名付き URL のテンプレートや modifications は、署名を壊さずに変更することはできません。そのため、この URL をページ、メール、メタタグに入れても安全です。
tag := fmt.Sprintf(`<img src="%s" alt="Welcome banner">`, html.EscapeString(signedURL))
Bannerify は、レンダリングした画像を最長 7 日間キャッシュします。キャッシュ、クォータ、上限については、署名付き URLで説明しています。