Yahoo! Query Language - API สำหรับ APIs
ปฎิเสธไม่ได้ว่านี่เป็นช่วงตกต่ำของเว็บไซต์ระดับโลกอย่าง Yahoo! ล่าสุดเว็บ Delicious ก็กำลังจะถูกขายไปในไม่ช้า (เว็บโปรดกรู T__T) แต่ว่า Yahoo! ก็ยังมีของดีๆ ให้กับ Developer ที่ไม่ใช้ระดับโลกอย่างเราๆ ท่านๆ ใช้ 555+
สำหรับบทความวันนี้เราจะพูดกันถึง Tool สำหรับนักพัฒนาที่สุดแสนสะดวกในยามขี้เกียจตัวนึง นั่นก็คือ
ซึ่งถ้าเราให้คำจัดกัดความของมัน มันก็คือ "API สำหรับ APIs" นั่นเอง เพราะตัวมันทำหน้าที่ต่อในการเรียกใช้ APIs ตัวอื่นๆ ด้วยภาษที่คล้ายๆกับ SQL ทำให้เราไม่ต้องทำความเข้าใจกับขั้นตอนซับซ้อนอะไร ของ API ปลายทางมากนัก
และที่สำคัญ Yahoo! จะเป็นคนจัดการเรื่อง Performance ต่างๆ ให้เราเองอีกด้วย ซึ่งตัว Yahoo! บอกไว้ว่าไอ้ Service นี้ของเค้าน่ะ มันมี Uptime ถึง 99.5% เชียวนะ แต่มันก้มีข้อจำกัดเรื่อง Rate Limit ว่า Query ได้ไม่เกิน 100,000 ต่อวัน และไม่เกิน 1000IP/ชั่วโมง แต่ก็ช่างแม่งเหอะ -*-
โดยที่ตาราง Table (ให้มองภาพเหมือน SQL) มี 2 แบบก็คือ
Native = Service ของ Yahoo! เอง (รวมไปถึง Flickr ด้วยล่ะอย่าลืม)
Community = ส่วนที่ Developer Submitted เข้ามา
ซึ่งไอ้แบบที่สองนี่แหละที่เราจะมาลองทำกันวันนี้ !!
เราจะมาลองเรียก Service ของ Twitter กัน เพราะว่ามันไม่ค่อยมีอะไรซับซ้อน อิอิ
ก่อนอื่นเราเข้ามาดูก่อนว่าตอนนี้ส่วนของ Community มันมีอะไรเข้ามาแล้วบ้าง
จะสังเกตุเห้นว่า Syntax การแสดงตารางเหมือนภาษา SQL เป๊ะๆ ต่อจากนั้นมาลองใช้กันผ่าน Console ที่ทาง Yahoo! เตรียมมาให้ พิมพ์เข้าไปแบบนี้
select * from twitter.search where q='earthquake'
แล้วก็กด Test Console เท่านี้ Data ก็ออกมา โดย Yahoo! ให้เราเลือกได้ ทั้ง แบบ XML และ JSON
โครตง่ายเลยเห็นมั้ย 555+
ส่วนวิธีการเอาไปใช้งาน กับโปรแกรม Yahoo! ก็จะมี Link เป็น REST ให้เรา Copy ไปใช้ได้เลย เท่านี้ก็เป็นอันจบ ลองเอาไปเล่นดูนะครับ ไว้สำหรับตอนขี้เกียจต่อ API เอง 55+
แต่จริงๆแล้วตัว YQL นั้นมีความสามารถมากกว่านี้เยอะเลยครับ ทั้งการ Insert, Delete, Update แต่ว่าอันนั้นมัน Advance ไปหน่อยครับ เวลาไม่พอ ขอยกเป็นตัวอย่างแล้วกันนะครับ
อย่างเช่นผมต้องการรู้ Schema ของ Facebook ในส่วนของการเพิ่ม comment แต่ผมไม่รู้ว่าจะต้องส่งอะไรไปบ้าง ผมก็ต้องพิมพ์
desc facebook.comments.add
เท่านี้ข้อมูลที่ต้องการก็จะออกมาแล้วครับ ว่าต้องส่งอะไรไป ตัวไหนเป็น require field ตัวไหนแค่ option
ที่เหลือก็จำไว้ครับ มันเหมือน SQL Language จบ !!
วันนี้พอแค่นี้ล่ะครับ บทความสั้นๆ ^^

2 comments