Saturday 2 June 2012

How to get Feed from Twitter User's Timeline ?

ผมเคยทำงานอยู่ชิ้นนึงที่จำเป็นต้องไปดึงข้อมูลมาจาก User Timeline ของ Twitter เมื่อก่อนก็ไม่รู้ว่าต้องทำยังไง แต่ตอนนี้รู้แล้ว เลยอยากจะมาเล่าวิธีการให้ฟัง สำหรับบางคนที่อาจจะยังไม่รู้

Twitter เตรียม APIs ไว้ให้บริการจำนวนมากเพื่อใช้ในการ Query ข้อมูล หรือ Update ข้อมูล บน Twitter Platform หนึ่งในนั้นคือ User Timeline ที่เราสนใจ ซึ่งเราสามารถขอข้อมูล User Timeline ได้ทั้งในรูปแบบของ RSS และ ATOM

วิธีใช้งานก็คือให้เรา Request ไปที่ URL End Point ดังต่อไปนี้ พร้อมเปลี่ยนค่า parameters ต่างๆให้ถูกต้อง

http://twitter.com/statuses/user_timeline/{screen_name หรือ user_id}.{rss หรือ atom}

ยกตัวอย่างเช่น ถ้าหากเราต้องการ User Timeline ของเพื่อนเรา อย่างน้อย เราต้องรู้ screen name จะหาได้หรือ user_id ของเพื่อนเราก่อน (แนะนำให้ใช้ screen name เนื่องจากเห็นได้ทั่วไป จะหาได้ง่ายกว่า) และเราต้องรู้ว่าเราต้องการ Feed ในรูปแบบ RSS หรือ ATOM

เมื่อเราได้ข้อมูลพื้นฐานเรียบร้อยแล้ว เราก็จะมาทดลองทำการ Request โดยวิธีการที่ง่ายที่สุดก็คือลองผ่านบน Browser ได้เลย โดยพิมพ์ URL ไปบน Address Bar

ตัวอย่าง สมมติว่าเพื่อนเรามี screen name ว่า manit_tree เราจะลองขอข้อมูล Feed แบบ RSS ดู เราสามารถทำได้โดย Request ไปที่ URL ดังต่อไปนี้

http://twitter.com/statuses/user_timeline/manit_tree.rss

ในทำนองเดียวกัน ถ้าเราต้องการข้อมูลในรูปแบบของ Atom ก็ให้เรียกไปที่ URL ดังต่อไปนี้

http://twitter.com/statuses/user_timeline/manit_tree.atom

โดยส่วนตัว เวลาผมลองอะไรที่เกี่ยวกับ XML ผมมักจะใช้ Internet Explorer เพราะผมสามารถเข้าไปปิด Feature ที่คอยปรับผลการจัดรูปแบบ Feed โดยอัติโนมัติได้ ซึ่งจริงๆแล้ว สำหรับ User โดยส่วนมาก Feature นี้ ถือว่ามีประโยชน์ แต่สำหรับ Developer แล้ว เวลาทดลองเกี่ยวกับเรื่องข้อมูล เราก็ต้องอยากเห็นว่าข้อมูลจริงๆมันมีหน้าตาอย่างไร มีข้อมูลอะไรบ้าง ซึ่งปัจจุบันผมใช้ Firefox Version 12.0 ผมหาที่ปิด Feature นี้ไม่เจอ หรือว่ามีหรือเปล่าก็ไม่รู้ ทำให้ทุกครั้งเวลาที่จะลองเกี่ยวกับ XML ผมต้องไปลองบน Internet Explorer ทุกที

มีอีกนิดนึงที่ผมลืมบอกไปก็คือ  APIs ของ Twitter มีการควบคุมปริมาณการเรียกใช้งาน เป็นจำนวนครั้งต่อชั่วโมง ซึ่ง Twitter เรียกว่า Rate Limit ยังไงถ้าหากต้องการเรียกใช้งานบ่อยๆ ยังไงลองไปศึกษาเกี่ยวกับเรื่อง Rate Limit จาก Website ของทาง Twitter ดูกันก่อนนะครับ

ก็หวังว่าจะได้เอาไปลองใช้ดูกันนะครับ แล้วเจอกันใหม่บทความหน้าครับ

No comments:

Post a Comment