因為要取得噗的所有回應,所以我參考dotplurk的getAllResponses()來取,基本上是用Plurk API 的 getResponses。只是,dotplurk應該是誤解了 getResponses 的用法。他的作法是假定getResponses一次傳回五筆,所以有抓到回應的話,就再把offset累加5,然後呼叫getResponses,就這樣重複,直到抓沒有response為止。但是getResponses並不是一次傳回五筆,而是不定筆數,因此offset的累加我改為累加這次取回的responses筆數,於是這樣就對了。
另外,plurkSearch 傳回的 plurk,裏面有 response_seen 跟 response_count 欄位,我想應該也可以利用這兩個欄位事先得知這個噗有多少回應,來決定怎麼去取responses,只是我就沒有去利用了,畢竟我自己的噗浪回應數都沒超過100(目前最高樓應該還是酪梨壽司那一噗吧,記得有上萬)。除了跟 response 有關的值以後,plurk 裡還有 friends 這欄位,表示參與 response 的人有哪些,從這裡就可以取出 user_id 對應的 display_name,而不需要再呼叫 getPublicProfile 去取得,這樣可以少掉很多往返網路的時間。
應該不會再有下篇了,因為我的備份噗浪到blogger的程式完工了。
沒有留言:
張貼留言