slacklog-generator icon indicating copy to clipboard operation
slacklog-generator copied to clipboard

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

Open heavenshell opened this issue 5 years ago • 5 comments

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

heavenshell avatar May 06 '20 08:05 heavenshell

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

koron avatar May 07 '20 02:05 koron

当該部分の 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 avatar May 10 '20 06:05 koron

ああ blocks いみねぇか…

koron avatar May 10 '20 06:05 koron

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

  • Gyazo の説明 https://gyazo.com/api/docs/image#oembed
  • oEmbed の仕様 https://oembed.com/
  • jQuery から使えそうなラッパー https://github.com/nfl/jquery-oembed-all

koron avatar May 10 '20 06:05 koron

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

koron avatar May 10 '20 08:05 koron