Gyazo の添付ファイルの mime-type を判別したい
Gyazo の添付ファイルの mime-type を判別したい。 現状 png なのか、gif なのかがわからないので、画面上に表示できない。 https://vim-jp.org/slacklog/CQ57P4XU4/2020/03/index.html#ts-1585396700.088700
取得した JSON から判別つけるのなら、見えるパス正しく入れて欲しい。 取れないのなら FallbackURL だけを表示します。
以下現状 MessageAttachment に入っている値。
| name | value |
|---|---|
| ServiceName | Gyazo |
| AuthorIcon | |
| AuthorName | |
| AuthorSubname | |
| Title | |
| TitleLink | https://gyazo.com/e028bb17c6f6ee17d71b3bebf50cbe51 |
| Text | |
| Fallback | Gyazo Photo: |
| ThumbURL | |
| FromURL | https://gyazo.com/e028bb17c6f6ee17d71b3bebf50cbe51 |
| ThumbWidth | 0 |
| ThumbHeight | 0 |
| ServiceIcon | https://gyazo.com/favicon.ico |
| ID | 1 |
| OriginalURL | https://gyazo.com/e028bb17c6f6ee17d71b3bebf50cbe51 |
| VideoHTML | |
| VideoHTMLWidth | 0 |
| VideoHTMLHeight | 0 |
| Footer | |
| FooterIcon |
これ実はText(=HTML)タイプなので、HTMLもってきて og:image を ThumbURL 他に設定したほうがよいかも。あとはURLからGyazoだってわかるのでgyazo.comタイプを作って上記の処理をどこかで入れるとか。
当該部分の attachements & blocks 。これは blocks で見たほうが良いのかもな。 両者のテンプレートでの扱いがどうなってるか見てこよう。
attachements:
[
{
"fallback": "Gyazo Photo: ",
"from_url": "https://gyazo.com/e028bb17c6f6ee17d71b3bebf50cbe51",
"id": 1,
"original_url": "https://gyazo.com/e028bb17c6f6ee17d71b3bebf50cbe51",
"service_icon": "https://gyazo.com/favicon.ico",
"service_name": "Gyazo",
"title_link": "https://gyazo.com/e028bb17c6f6ee17d71b3bebf50cbe51"
}
]
blocks:
[
{
"block_id": "0uS",
"elements": [
{
"elements": [
{
"text": "すみません、asyncompleteの挙動なのですが、C-eにasyncomplete#cancel_popup() がマップされてる状態での録画です。\nキャンセルした後、スペースの入力で再度補完が表示されてますが、これって期待動作でしたっけ?\n",
"type": "text"
},
{
"type": "link",
"url": "https://gyazo.com/e028bb17c6f6ee17d71b3bebf50cbe51"
}
],
"type": "rich_text_section"
}
],
"type": "rich_text"
}
]
ああ blocks いみねぇか…
oEmbed っていうのが使えて、楽にそうすると楽に埋め込めるかも?
- Gyazo の説明 https://gyazo.com/api/docs/image#oembed
- oEmbed の仕様 https://oembed.com/
- jQuery から使えそうなラッパー https://github.com/nfl/jquery-oembed-all
oEmbed 案はボツ。 Access-Control-Allow-Origin に阻まれた。