vim-jp / slacklog-generator

Archive generator for Slack
https://vim-jp.org/slacklog/
Creative Commons Attribution 4.0 International
26 stars 9 forks source link

Gyazo の添付ファイルの mime-type を判別したい #35

Open heavenshell opened 4 years ago

heavenshell commented 4 years ago

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
koron commented 4 years ago

これ実はText(=HTML)タイプなので、HTMLもってきて og:image を ThumbURL 他に設定したほうがよいかも。あとはURLからGyazoだってわかるのでgyazo.comタイプを作って上記の処理をどこかで入れるとか。

koron commented 4 years ago

当該部分の 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"
  }
]
koron commented 4 years ago

ああ blocks いみねぇか…

koron commented 4 years ago

oEmbed っていうのが使えて、楽にそうすると楽に埋め込めるかも?

koron commented 4 years ago

oEmbed 案はボツ。 Access-Control-Allow-Origin に阻まれた。