2017年2月6日月曜日

tumblrを更新したらdlvr.itにtwitterにカード表示で投稿する方法を模索

まずは特に設定せずにtumblrの更新をdlvr.itを通してtwitterに投稿してみる

tumblrをtwitterカードに対応させるにはtwitterで認証させるだけでいい。tumblrには設定やカスタマイズは必要ない。

tumblrを更新したらdlvr.itでtwitterに自動投稿する。特に変わったことする必要はないが、dlvr.itの設定で「Post As Photo」はオフにしておいたほうが良さそう。

という調査結果をもとに設定などをした
その結果twitterカード表示されなかった。

tumblrのURLがリダイレクトされるのが原因なのか?

twitterに表示されるurlは「dlvr.it/DDDDD
twitter的には「t.co/TTTTT」
となっている。

これらを直接ブラウザにURLを貼り付けて表示させると「AAAAA.tumblr.com/post/NNNNN/BBBBB」
のようになる。
またRSSフィードを直接見るとURLは
「AAAAA.tumblr.com/post/NNNNN」
になっている。

上記URLをtwitterカード認証ツールに通すとうまく表示されるのは「AAAAA.tumblr.com/post/NNNNN/BBBBB」
だけで、他はエラーになる。エラーメッセージは
ERROR: Fetching the page failed because it resulted in too many redirects.
とある。
AAAAA.tumblr.com/post/NNNNN → AAAAA.tumblr.com/post/NNNNN/BBBBB
このリダイレクトがエラーになるのが一番の原因なのだろうか。

それでもdlvr.itを通したい

twitterに自動投稿するだけならdlvr.itを通さずにtumblrにもともとあるtwitter連携機能をオンにするだけでいいのだ。
ただこのtwitterにはほかのサイトの更新情報も投稿するので区別のために頭に「tumblr更新:」という文字列を加えたい。となるとやっぱりdlvr.itを通したい。

となるとtumblrのURLのリダイレクトをなくす方法があればいいことになる。tumblrの設定にはそんな項目はない。
しかしtumblrの各投稿のURLのパーマリンク(tumblrではフレンドリーURL)を自分で設定することができるのでそれをすればリダイレクトのないURLになるかもしれない。
と思って試したらそうではなかった。
AAAAA.tumblr.com/post/NNNNN → AAAAA.tumblr.com/post/NNNNN/BBBBB
となる。ただtwitterの認証ツールに通すとエラーにならない。

ここで本当のエラー原因らしきものがわかった。エラーしていたのはBBBBBの部分が日本語だったからみたい。

どうすることにしたか

BBBBBの部分は投稿内容からtumblrが自動で抜き出しているから日本語になるので英数字になるようにしなくてはいけない。
そのためにはtumblr投稿時にパーマリンク(フレンドリーURL)を自分で設定すればいい。これは手間が増えていまひとつすっきりしないけれどいまのところこれしかない。
tumblrではない別のサイトの更新時も毎回URLを英数字で決めていたのである意味慣れてはいるし。

どうなったか

カード表示になるときとならない場合がある。
どうやら画像があるとうまくいくがテキストのみだとカード表示にならない。
HTMLソースをみたらtwitterカードのためのコードがなかったのでこれがtumblrの仕様のようだ。

少し不完全だけどtumblrのtwitterカード対応の件はこれでおしまいにします。




0 件のコメント:

コメントを投稿