ログイン

29
3月
Posted Date : 2012-03-29

Googl+のつぶやきを自動的にTwitterにつぶやくPHPを作りました。
私は、Google+・Twitter・mixi・Facebookを多用していますが、
それぞれに、近況の報告をするのは面倒なので、
Google+→Twitter→mixiの順に連携しています。

Googl+のつぶやきをTwitterにつぶやくには、公開されている
RSSフィードサービスを利用して、dlvr.it等の投稿サービスを
利用するのが一般的ですが、最近RSSフィードのサービスが
中止になったり、反映する時間がかかったりと、何かと問題が有ります。

自宅サーバーを稼動させているならば、自宅サーバーでRSSフィードと
Twitterへの投稿が出来ないものか模索していました。


●必要な前準備
・Googl+の
「ID・APIキー」
を取得します。
・URLを短縮するために bitly の
「APIキー」
を取得します。
・Twitterの
「Consumer key・Consumer secret・Access token・Access token secret」
を取得します。
各キーの取得はググると色々出てきますので、そちらをご参照ください。

●Google+のRSSフィード生成の作成
当初Google+の公式APIを使用したこちらのプログラムを利用させて頂きましたが、
ブラウザからは所得できるのですが、サーバーのコマンドラインからは所得できませんでした。
(原因は不明ですが、おそらく認証ができてないと思われます)
色々ググったら、URLのパラメータで指定取得できる方法を見つけました。
参考にさせて頂いたのはこちらです。

Google+の自分の投稿内容(JSON)をPHPで取得して別のサーバーに保存する
Google+ APIで取得したJSONデータをフィード形式に加工する

JSON形式で取得した後、RSS(Atom)フィード形式へ変換する部分を改造します。
上記2つのソースを良く眺めて、統合して、ファイル出力の箇所を以下の行に変更しました。

$obj = json_decode($gplus_data);
print_r( change_gdata_to_feed($obj) );

public_htmlの下にフォルダを作って、作成したファイルをinidex.phpとして保存して、
正しくフィードされるか確認します。

●Twitterへの書き込みプログラムの作成
次にTwiiterへの書き込みですが、こちらを利用させて頂きました。

Google+の投稿をTwitterに同期するPHPスクリプト※追記あり

事前に取得した、Twitter・bitlyのキー・先にを記述し、
Feed URLにはindex.phpを格納したURLを指定します。
特に改造無くTwitterへの書き込みが出来たので、
このPHPプログラムをCRONで定期的に動作させれば終わりです。

一般のRSSフィードサービスは取得間隔を短くすると、負荷が掛かるので
余り短く出来ませんし、エラーを返す場合も有ります。
(dlvr.itでは最低15分間隔)
自宅サーバーを利用しているユーザーは私一人ですので、RSSフィードの実行間隔は短く出来ます。
これで、Twitterへの投稿も早くなり、RSSフィードサービスの停止を心配する事も無くなりました。

Similar Posts:


[Print here click]

0 Responses


Protected Image