LineMessageAPIで画像を署名付きURL(有効期限:1時間)で対応した際の挙動と対処法
解決したいこと
LINE Messaging APIで画像を署名付きURL(有効期限:1時間)で送信した際の、LINEアプリとOfficial Account Manager(以下OAM)における挙動の違いと、それに対する対策を知りたいです。
発生している問題・エラー
署名付きURL(有効期限あり)で送信された画像の表示挙動に関して、LINEアプリとOAMで差異があります。
公式ドキュメントに詳しい仕様が記載されておらず、挙動の違いが原因で以下のような問題が発生しています:
- LINEアプリでは画像が永続的に表示される場合が多い
- OAMでは画像が有効期限切れ後に表示されなくなる
これにより、特定の条件下で画像が表示されない問題が発生しています。
画像の表示挙動に関する仕様を理解した上で、表示されない問題を解決するための適切な対処法を知りたいです。
有効期限を設定している理由
画像は主に契約書や領収書などの重要なドキュメントを想定しており、セキュリティの観点から他者への閲覧を制限するため、有効期限を設定しています。
自分で試したこと
LINEアプリでの挙動確認結果
- 通信環境が良好で、画像送信後に有効期限内でトーク画面を開く → 画像が表示される
- 通信環境が良好で、画像送信後に有効期限外でトーク画面を開く → 画像が表示される
- 通信環境が良好で、画像表示確認後、有効期限外で再度トーク画面を開く → 画像が表示される
- 通信環境が不良で、画像送信後に有効期限外でトーク画面を開く → 画像が表示されない
OAMでの挙動確認結果
- 通信環境が良好で、画像送信後に有効期限内でトーク画面を開く → 画像が表示される
- 通信環境が良好で、画像送信後に有効期限外でトーク画面を開く → 画像が表示されない
- 通信環境が良好で、画像表示確認後、有効期限外で再度トーク画面を開く → 画像が表示されない
備考
挙動を確認した結果、有効期限を延長するだけでは根本的な解決にはならないと考えています。
個人的に考えた解決案
-
有効期限を設定せず、画像にいつでもアクセスできるようにする
(セキュリティリスクが増加する可能性がある) - 画像そのものは送信せず、代わりにID/パスワードを発行し、ユーザーが別途画像を取得できる仕組みを構築する
この他により良い解決方法があれば、ご教示いただけますと幸いです。
0