Re: [請益] 噗浪機器人的問題...
※ 引述《roga (任性)》之銘言:
: 先檢查自己到底用量多少,有沒有一天用超過上限制 ^^
: 檢查方法: https://www.plurk.com/API/Stats?api_key=你的 KEY
: 然後幾個解決方向給您參考
: 1. 寫信給噗浪要求加入白名單,解除一天 50,000 次的限制,但這個有困難,
: 除非好友人數夠多 orz
: 2. 檢查自己的程式寫法,除了 5 秒 call 一次應該還有別的方法。
: 舉例而言:當河道上的噗不夠多時,會一直取回重複的噗,當河道上噗太多時,
: 還是會來不及取回所有的噗。所以最好的方式是記下上次取回的「最後更新時間」
: ,然後下次再以「最後更新時間」為基準取回新的噗。
: (但這也有些問題..不過一般情況是夠用了)
: 當然你可以基於這個方法使用 RealTime API 。
: 3. 以你的例子,5 秒更新一次,一天只會戳 17,280 次,剩下的 quota 都可以
: 拿來回應,離要爆一天 50,000 次還有段距離。所以還是回到上一點,先檢查一下
: 程式是否有不必要的呼叫,不必要的登入,不必要的其他動作..etc
: 一般來講,在 4X0,000 萬好友的情況下,大概一天會戳 300,000 次上下,
: 我還記得以前好友 10,000 人左右,一天應該也戳不到 50,000 次 ^^
: http://gallery.roga.tw/var/albums/storage/Noname-1914390244.jpg
![](http://gallery.roga.tw/var/albums/storage/Noname-1914390244.jpg)
在此感謝 roga 大的回應
原來噗浪 API 有狀態可以查...
我也查了一下我的 API 次數...
一天差不多 20000 次... http://guardlan.myweb.hinet.net/plurk_api_status.jpg
![](http://guardlan.myweb.hinet.net/plurk_api_status.jpg)
原來噗浪有 RealTime API 我剛剛有研究了一下
發現 php-plurk-api 裡面有 realtime_get_user_channel 跟 realtime_get_commet_channel 這兩個 function 可用
他說先用 realtime_get_user_channel 找出 comet_server 之後再使用 realtime_get_commet_channel 來取得資料
我已經有取得 comet_server 的位址跟 offset 值,不過我呼叫 realtime_get_commet_channel 卻什麼東西也沒有
以下是我寫的程式
================================================================
前略...
$plurk = new plurk_api();
$plurk->login($api_key, $username, $password);
$result = $plurk->realtime_get_user_channel();
$comet_server = preg_replace('/\&offset=\d+/', '', $result->comet_server);
$offset = preg_match('/\&offset=(\d+)/', $result->comet_server, $matches) ? $matches[1] : NULL;
sleep(50);
$result = $plurk->realtime_get_commet_channel($comet_server, $offset);
var_dump($result);
=================================================================
是寫錯嗎~還請各位先進指教
另外我還有個問題想請教...
即使使用 RealTime API 也是需要每固定秒數去打 RealTime API 取得資料吧!?
這樣的話跟我想打 API 次數應該減差不了多少~?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.137.156
→
01/30 21:20, , 1F
01/30 21:20, 1F
→
01/30 21:26, , 2F
01/30 21:26, 2F
→
01/30 21:37, , 3F
01/30 21:37, 3F
→
01/30 21:38, , 4F
01/30 21:38, 4F
→
01/30 21:38, , 5F
01/30 21:38, 5F
因為我一開始就抓不到任何值,看API的說明他說50秒後才會回傳值給我...?
所以我才在我的程式裡面下 sleep 50秒去等 API
50秒後我去取結果還是一樣沒值,所以有點納悶...
另外這樣應該也算打一次API吧...
※ 編輯: guardlan 來自: 122.116.137.156 (01/30 23:36)
討論串 (同標題文章)