[PHP]PO3 一次幫你把訊息PO到3個地方(Buboo,Plurk,Twitter)!
到處看得到 web 2.0 的應用,另稱微網誌的類twitter線上服務更是多如繁星(誤)。
除了國外開山始祖twitter之外,台灣的buboo更是匯聚許多人親土親同文同種的朋友,再加上近來聲勢漸漲號稱「加上時間軸」的plurk,各有各的特色各有各的擁護者。
其實很多人應該都會在不同的服務申請帳號,只是要發一則訊息卻要登入各個服務的網頁實在麻煩。
雖然有像Hellotxt這種可以幫你一次更新許多不同的社交網站,但是,有飯否卻沒有巴布!
其實,從技術的角度來看buboo,plurk,twitter三者還滿相似的,只是plurk目前並沒有公開它的API。
從網路上找到可以用PHP發訊息到twitter和plurk的套件,另外改寫成可以發到buboo然後再整合成統一的畫面。線上展示。
- Jonathan 的 BLOG ? 整合 Twitter 的 php 寫法
- rlplurkapi – Google Code – 這是非官方的Plurk API。Category:Reference – Plurk API Wiki
發現更簡單的方法也是用curl:Charl van Niekerk » Blog: Plurk PHP Post Script
注意:PHP必須能夠使用 curl 功能,buboo和twitter都會用到。
twitter 發文函式:
// 發文到twitter
function post_twitter($uid, $pwd, $msg) {
$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, 'http://twitter.com/statuses/update.xml');
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_POST, 1);
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "status=$msg");
curl_setopt($curl_handle, CURLOPT_USERPWD, "$uid:$pwd");
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);
// 檢查結果
return chkresult($buffer,'<text>');
}
buboo 發文函式:
// 發文到buboo
function post_bubbo($uid, $pwd, $msg) {
$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, 'http://api.buboo.tw/update.xml'); //改
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_POST, 1);
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "message=$msg"); //改
curl_setopt($curl_handle, CURLOPT_USERPWD, "$uid:$pwd");
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);
// 檢查結果
return chkresult($buffer,'<ok>1</ok>');
}
plurk 發文函式:
// 發文到plurk
// 2008/07/19 改
// $nick_name 是顯示名稱,如 klcintw
// $uid 是使用者代號,藏在網頁原始碼裡,如:"user_id": 30140
function post_plurk($nick_name, $pwd, $uid, $msg) {
$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
// 認證
curl_setopt($curl_handle, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($curl_handle, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($curl_handle, CURLOPT_URL, 'http://www.plurk.com/Users/login');
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "nick_name=$nick_name&password=$pwd");
curl_exec($curl_handle);
// 發文
curl_setopt($curl_handle, CURLOPT_URL, 'http://www.plurk.com/TimeLine/addPlurk');
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, 'qualifier=%3A&content=' . urlencode($msg) . '&lang=en&no_comments=0&uid='.$uid);
curl_exec($curl_handle);
curl_close($curl_handle);
return;
}
認證失敗的回傳字串:login:/Users/showLogin?nick_name=ooxx&error=incorrect_login
認證成功的回傳字串:login:/user/ooxx
重覆PO文的回傳字串:anti-flood-same-content
2008/07/07 補充:因修改Permalinks造成FunP的推數消失。
2008/07/08 補充:如果你是使用XAMPP要開啟 curl 模組,只要修改xampp目錄(預設是c:\xampp)下的 /apache/bin/php.ini , /php/php.ini 將「extension=php_curl.dll」取消註解並重新啟動apache即可。參考資料
2008/12/05 補充:由於Plurk系統更新,原來的功能無法使用,現改用 RLPlurkAPI-0.5.0-0。
我有作測試,發現不能把訊息po到plurk
感謝您的測試。
PO到plurk的功能似乎時好時壞(有人可以有人不行)
因為plurk尚未公開API所以可能會失效。
但也不排除是plurk不定時維謢(或停機)所造成。
請有空多試幾次,謝謝。
我也試了 PLURK 一直沒有成功過 ^.^
可能是plurk在更新系統吧。我也一直收到如下的訊息
Plurk is currently unavailable. We are working on bringing the site up again. We apologize for the inconvenience.
大大:
利害唷 剛剛試了 有成功說 ^^
謝謝您的測試。
[...] [PHP]PO3 一次幫你把訊息PO到3個地方(Buboo,Plurk,Twitter)! | Horn Network 雖然有像Hellotxt這種可以幫你一次更新許多不同的社交網站,但是,有飯否卻沒有巴布! [...]
PO 到 Plurk 的功能有問題耶… 感恩唷~
請問一下這個網站要怎麼消掉帳密 @@..重開之後還是會自動登入耶..
請問一下,這個網頁自動存的帳密要怎麼消掉呢?
對不起電腦有問題顯示不出之前的留言,以為沒留言到,多PO了>"<
不好意思 打擾了
由於因為想研究plurk的api
想請問一下 一些plurk的api使用方式…
因為在站內尋找不到大大的信箱…
想請問下 大大有沒有信箱呢? 械系
我有找到這個api…
但是我不太知道怎麼使用!!
我上傳到我的空間,我執行example.php
都沒有反應! 也不知道要怎麼抓取我自己要用的資訊!
麻煩大大 指點我一下 謝謝
不好意思
我有把api 傳到 這個網站空間
http://0fees.net/
他上面也有寫說 可以執行php
我檔案只有更改example.php
$nick_name = ‘我的帳號’;
$password = ‘我的密碼’;
但是執行以後還是不行耶…
是因為空間的緣故 還是因為 我有啥沒改道嗎?
麻煩大大了 謝謝
http://fafa.0fees.net/Plurk/example.php
這個網址…
請問上面的發文函式 是只要在上面填上 <?php 就可以執行嗎?
還是還需要設定$變數? 因為我試了一下 都沒跑出耶! 謝謝