しばらく前に、新しいエントリーをmixiに自動Postする機能を備えたのですが、それについての導入・動作メモです。
mixiはほとんど活用してなかったのですが、こういった事を試せるので良いですね。
また、mixiにはブログサイトの更新を反映させる事も出来ますが、検地までにタイムラグが発生するで、リアルタイムに投稿が反映されるこの方法が便利です。(Pingと同時に投稿)
ちょっと無理をすれば、mixiだけに記事反映も出来ます。
一旦投稿→mixi日記への反映確認→エントリーの公開状態を未公開にする
力ワザって感じですけど。
mixiの携帯ポストを有効にする
mixiが利用出来る携帯からmixiにアクセスして、
- 日記を書く
- 写真付き日記の更新はこちら
- 写真付き日記を書く
と進み、表示される投稿送信用アドレスを書き留めます。
スクリプトのDL
■ftp-recordings:returns? : MT2MIXI ver.1.1
上記にて配布のスクリプトをDLし、解凍。
mt2mixi.cfg を開き、下記のように記述します。
<?php
define("BLOG_URL", "ウェブサイトURL");
define("MIXI_MAIL_TO", "投稿送信用メールアドレス");
define("MIXI_MAIL_FROM", "自身の利用可能なメールアドレス");
define("MT2MIXI_DAT", "./mt2mixi.dat");
define("MT2MIXI_ENTRY", "./mt2mixi.txt");
define("MT2MIXI_ENTRY_CHARSET", "UTF-8");
?>
記述が済んだら、サイトのトップと同階層にmt2mixiディレクトリを置きます。
mt2mixi.cfg には、投稿用メールアドレスが記載されますので、これにアクセス出来る状態だと他人に読み取られて勝手に投稿される恐れがあるので要注意です。
パーミッション設定を慎重にしっかりと。
- mt2mixi.php、mt2mixi.cfg、.htaccess・・・604
- mt2mixi.dat・・・606
投稿反映用テンプレートの作成
ここで作成するテンプレート内容が、mixiの記事内容として反映されます。
テンプレート→インデックスタブ→テンプレートを新規作成
- テンプレート名・・・mixiEntry
- 出力ファイル名・・・mt2mixi/mt2mixi.txt
- 再構築チェック・・・チェックする
- 内容・・・下記(sample.temp)
<MTEntries lastn="1">
<$MTEntryID$>
<$MTEntryTitle$>@<$MTBlogName$>
<$MTEntryLink archive_type="Individual"$>
<$MTEntryExcerpt$>
</MTEntries>
この内容は、携帯でメールとして投稿する場合の容量を考えて、好きなように変更すると良いです。目安のひとつ。
Ping設定
ブログの設定→新規投稿→更新Ping/トラックバックの設定
に mt2mixi.php までのURLを記述します。
- http://サイトURL/mt2mixi/mt2mixi.php
あとは、新規投稿を行うとその内容が、作成した投稿用テンプレートの内容に沿って作成され、mixi日記に自動でポストされるようになります。
気付いたこと
私は更新Ping送信に
■Update-n-Ping Plugin - Ogawa::Memoranda [Ogawa::Memoranda]
を使用しているので、こちらに設定を行ったところ、最新のひとつ前の記事が投稿されてました。
投稿の際に作成されるmt2mixi.datとテンプレートを削除してやり直してみても、つまり、mixiへの送信データを空にしても起こっていたので、恐らくこのふたつの組合せは無理かな?と思います。
あとは、投稿用テンプレートにHTMLタグを出力する記述は、mixi日記ではmixiプレミアムに入ってないと反映されないこと。
URLは自動リンクされますね。
テンプレートの再構築チェックを外した場合、mt2mixi.txtの内容は更新されないわけですが、この状態でもPingは送られます。
その時、mixi日記への反映はどうなるのかテストしてません。
直前の内容が送られるのかな?
というのも、この性質次第では、投稿をmixiに反映させない方法となり得るので。
気が向いた時にでもやってみるです( -ω-)y─┛~~
[参考記事]
■ftp-recordings:returns? : MT2MIXI ver.1.1
■Update-n-Ping Plugin - Ogawa::Memoranda [Ogawa::Memoranda]