Skip to content
戻る

C# CoreTweet.Oembedを一通り試す

Published:  at  02:29

概要

CoreTweetのOembed(oEnbed?)のパラメータを一通り試しました。
APIとCoreTweetでアップデートが追いついて無いのか実装されていないものが一部ありました。

サクッとペロッただけです。

20180428
プルリク出してマージされたので使えなかったパラメータも使えるようになりました。

目次

環境

ソース

https://github.com/Lycheejam/CoreTweetTest/tree/master/CoreTweetOembedTest 🔗

oEmbed Parameters

https://developer.twitter.com/en/docs/tweets/post-and-engage/api-reference/get-statuses-oembed 🔗

公式ドキュメントの順番通りにやります。

パラメータ無し(素の状態)

<blockquote class="twitter-tweet">
  <p lang="ja" dir="ltr">
    あのAV女優が知り合いに似すぎててコーディングに 集中出来ない
  </p>
  &mdash; あとらす (@Lychee_jam)
  <a
    href="https://twitter.com/Lychee_jam/status/988431204717281280?ref_src=twsrc%5Etfw"
    >April 23, 2018</a
  >
</blockquote>
var emb = t.Statuses.Oembed(TextTweetId);

maxwidth

横幅の指定を行います。

maxwidth = 220(最小)

<blockquote class="twitter-tweet" data-width="220"></blockquote>
emb = t.Statuses.Oembed(id => TextTweetId
                        , maxwidth => 220);

maxwidth = 550(最大)

<blockquote class="twitter-tweet" data-width="550"></blockquote>
emb = t.Statuses.Oembed(id => TextTweetId
                        , maxwidth => 550);

hide_media

メディア(写真・動画)表示設定を行います。
サムネを表示するかリンクのみで表示するかになります。

メディア表示

<blockquote class="twitter-tweet"></blockquote>
emb = t.Statuses.Oembed(id => PhotoTweetId
                        , hide_media => false);

メディア非表示

<blockquote class="twitter-tweet" data-cards="hidden"></blockquote>
emb = t.Statuses.Oembed(id => PhotoTweetId
                        , hide_media => true);

hide_thread

スレッド表示の有無を設定する。
メンション先がなければ無視される。

スレッド表示

<blockquote class="twitter-tweet"></blockquote>
emb = t.Statuses.Oembed(id => ThreadTweetId
                        , hide_thread => false);

スレッド非表示

<blockquote class="twitter-tweet" data-conversation="none"></blockquote>
emb = t.Statuses.Oembed(id => ThreadTweetId
                        , hide_thread => true);

omit_script

Scriptタグの有無を指定します。
widgets.jsを読み込む&ltscript&gtタグをHTMLに追加するか否かです。すでに別で読み込んで入れば不要(?)

<script
  async
  src="https://platform.twitter.com/widgets.js"
  charset="utf-8"
></script>

コードのみ記載

Scriptタグあり

emb = t.Statuses.Oembed(id => TextTweetId
                        , omit_script => false);

Scriptタグなし

emb = t.Statuses.Oembed(id => TextTweetId
                        , omit_script => true);

align

配置位置を指定します。
自環境でもデザインがズレているので変な風に表示されているかと思います。

左寄せ(Left)

<blockquote class="twitter-tweet" align="left"></blockquote>

以下、HTML省略します。

emb = t.Statuses.Oembed(id => TextTweetId
                        , align => "left");

中央寄せ(Center)

emb = t.Statuses.Oembed(id => TextTweetId
                        , align => "center");

右寄せ(Right)

emb = t.Statuses.Oembed(id => TextTweetId
                        , align => "right");

指定無し(none)

emb = t.Statuses.Oembed(id => TextTweetId
                        , align => "none");

Reply/RT/Favの後に指定したユーザとかをおすすめ表示する設定
とりあえず自分自身を指定してみる。

ブログ書き終わった後に検証したがFavではポップアップがすぐに消えた。
なにが正しいんでしょう?

<blockquote class="twitter-tweet" data-related="Lychee_jam"></blockquote>
emb = t.Statuses.Oembed(id => TextTweetId
                        , related => "Lychee_jam");

lang

ウィジェットの表示言語を指定する。
日付とかその他の情報が指定で表示が変わる。

英語(既定?)

<blockquote class="twitter-tweet" data-lang="en"></blockquote>
emb = t.Statuses.Oembed(id => TextTweetId
                        , lang => "en");

日本語

emb = t.Statuses.Oembed(id => TextTweetId
                        , lang => "ja");

widget_type

Video設定を行います。
Videoをツイートに埋め込んだ形式で表示するかビデオのみ単独で表示するかの設定

Video設定なし

<blockquote class="twitter-tweet"></blockquote>

Video設定あり

<blockquote class="twitter-video"></blockquote>
emb = t.Statuses.Oembed(id => VideoTweetId
                        , widget_type => "video");

CoreTweetのOembedメソッドでサポートしていないパラメータ

恐らくですが新規に追加されてサポートされていない状態かと思われます。

theme

LightかDarkを選べる。手動ならいけます。

ハッシュタグ/@hogehoge/URLなどリンクになるものの色を変更出来ます。

dnt

ターゲット広告とかの情報に利用させないための設定と思われる。
//調べてない

参考サイト様

雑感

別に全部試す必要はなかった。絶対になかった。
コード書いて終わりにしておけばよかった。



前の記事
C# CoreTweet.OembedにPullRequestを出した
次の記事
ASP.NET Viewページにツイートを埋め込む(oEmbed)