ナビゲーション

Python

Python で署名付き URL を使う

Python SDK で署名付き URL を生成します。この URL は、開かれたときにテンプレートの画像をレンダリングします。

generate_image_signed_url は、開かれたときに画像をレンダリングするリンクを作ります。ネットワークリクエストは送りません。SDK が、API キーを使ってお使いのマシン上で URL に署名します。

リクエスト

#template_idstrrequired

テンプレート ID。たとえば tpl_xxx です。

#modificationslist[dict]

テンプレートのレイヤーに設定する値。URL に含まれて送られるため、短くしてください。各レイヤーが受け付けるフィールドは、Modifications にあります。

#formatstrdefault: png

画像の形式。png、jpeg、webp のいずれかです。それ以外の値を渡すと、メソッドは ValueError を発生させます。

#nocachebooldefault: False

キャッシュを使いません。リクエストのたびに新しい画像をレンダリングし、クォータに数えられます。

url = client.generate_image_signed_url(
    "tpl_xxx",
    modifications=[{"name": "headline", "text": "Hello, Ada"}],
    format="jpeg",
)

レスポンス

メソッドは文字列を返します。

https://api.bannerify.co/v1/templates/signedurl?apiKeyHashed=2f5a...&format=jpeg&modifications=%5B...%5D&templateId=tpl_xxx&sign=ce2d...

apiKeyHashed は、どのキーが URL に署名したかを Bannerify に伝えます。sign は、ほかのパラメーターを API キーで署名した HMAC-SHA256 です。署名付き URL のテンプレートや modifications は、署名を壊さずに変更することはできません。そのため、この URL をページ、メール、メタタグに入れても安全です。

html = f'<img src="{url}" alt="Welcome banner">'

Bannerify は、レンダリングした画像を最長 7 日間キャッシュします。キャッシュ、クォータ、上限については、署名付き URLで説明しています。