今まで使っていたプラグインがTwitterの認証方式変更によりうまく投稿が出来なくなってしまっていました。いろいろ試行錯誤をしているうちにうまく出来ましたので、簡潔に紹介します。
PostTweetプラグインを使用します
☆エムロジック放課後プロジェクト: PostTweet アーカイブ
マニュアル通りに作業します。
・指定された通りのディレクトリにインストールする
・Oauth認証をする
・投稿済みの記事を未公開にして再度公開にしてみる
ここでエラーが発生してしまいました。システムログを見てみると下記のエラーが発生しています。
エラーの内容は下記の通りです。
PostTweet: Twitterへの投稿に失敗しました。(twitterから応答を得られません。(utf8 “\xA5” does not map to Unicode at /usr/local/lib/perl5/5.8.9/mach/Encode.pm line 170. ) )
どうも文字コードが問題になっているようです。ネット検索をしてみると、下記の記事がヒットしました。
☆mattsun.jp_blog mobile ver.
このブログはEUCで設定されています。ところがプラグインの方はUTF8にしか対応していないようです。
そこで、上記の記事に書かれている「I18N Helper Plugin」のお世話になります・
☆Ogawa::Buzz: I18N Helper Plugin
こちらをダウンロードしてPluginsディレクトリにインストールしました。
そして、PostTweetプラグインの「message_format.tmpl」の中身を編集します。
<mt:setvar name=”title_len” value=”140″ />
<mt:setvarblock name=”title”><mtencodeText from=”euc-jp” to=”utf-8″><mt:entrytitle remove_html=”1″ /></mtencodeText></mt:setvarblock>
<mt:setvarblock name=”link”> – <mt:entryshortenedpermalink /></mt:setvarblock>
<mt:setvarblock name=”link_len”><mt:var name=”link” count_characters=”1″ /></mt:setvarblock>
<mt:setvar name=”title_len” op=”-” value=”$link_len” />
<mt:var name=”title” trim_to=”$title_len” /><mt:var name=”link” />
これでうまくtwitterへ投稿することが出来るようになりました。
コメント