API คืออะไร เกี่ยวข้องกับการทำเว็บอย่างไร

API คืออะไร เกี่ยวข้องกับการทำเว็บอย่างไร

หลายคนไม่เข้าใจ และนึกภาพไม่ออก ว่า API เค้ามีให้เราไว้ทำอะไร และเราทำอะไรกับ API ได้บ้าง รวมไปถึงเราจะได้ประโยชน์อะไรจาก API

จะว่าไปก็เป็นอีกหนึ่งเรื่องพื้นฐานสำหรับคนทำเว็บเหมือนกัน ในการทำความรู้จัก API เพราะว่า มันจะเข้ามาเกี่ยวข้องกับคนทำเว็บในระดับกลางขึ้นไป (มือใหม่มาก ไม่น่าจะมีโอกาสได้ใช้เท่าไร แต่ก็ควรรู้จักมันไว้หากเราอยากโต)

API ย่อมาจาก Application Programming Interface งง มั้ย? เอาเป็นภาษาไทยให้เข้าใจดีกว่า  API มันคือช่องทาง การเชื่อมต่อ เพื่อพูดคุยกัน จากระบบหนึ่ง ไปสู่ระบบอื่นๆ เรียกง่ายๆว่า เราต้องมีศูนย์กลางขึ้นมาก่อน แล้วที่ศูนย์กลางนี้ โดยปกติแล้ว จะทำงานเฉพาะภายในศูนย์ของตัวเอง ไม่รับคำสั่ง หรือตอบสนองจากที่อื่น ที่ไม่รู้จัก เช่น บริษัทหนึ่งๆ จะมีผู้บริหารสูงสุดได้เพียงคนเดียว ที่จะคอยสั่งการ การทำงานต่างๆ โดยพนักงานในบริษัท ก็จะทำแต่งานที่ได้รับมอบหมายจากหัวหน้าคนเดียวคนนั้น ไม่รับคำสั่งจากหัวหน้าของบริษัทอื่น แต่ว่า เมื่อมีการเปิด API ขึ้น นั่นแปลว่า บริษัทนี้ ยอมให้มีหัวหน้าจากบริษัทอื่น เข้ามาใช้งานลูกน้องในบริษัทตัวเองได้ แต่ภายใต้ขอบเขตที่จำกัด ที่เจ้าของบริษัทได้ตั้งไว้เท่านั้น เช่นว่า อาจจะยอมให้ใช้งาน messenger ร่วมกันเท่านั้นเอง ห้ามมาใช้งานฝ่ายบัญชีเป็นต้น

หากเปรียบกับมาเป็นเว็บ โดยปกติ เว็บหนึ่ง ก็จะทำงานตามที่เจ้าของเว็บได้เขียนโปรแกรมเอาไว้เท่านั้น จะไม่รับคำสั่งอื่น นอกเหนือจากเจ้าของเว็บที่เขียน (เว้นแต่โดน hack) เช่นการมีระบบ กระดานข่าว คอยตอบสนองกับคนใช้งานเว็บ ก็เป็นไปตามที่เจ้าของเว็บตั้งใจทุกอย่าง คนที่จะตั้งกระทู้ใหม่ได้ ก็เกิดจากสมาชิกในเว็บตัวเองเท่านั้น อันนี้คือความตั้งใจของเจ้าของเว็บ แต่ต่อมา อยากขยายเว็บให้มีคนรู้จักมากขึ้น ก็เลยเปิดช่องทาง ให้เจ้าของเว็บ เชื่อม API กับเว็บเราได้ โดยให้เค้าสามารถตั้งกระทู้ ตอบกระทู้ได้ ผ่านจากหน้าเว็บเค้าเลย โดยไม่ต้องเข้าเว็บเราเลย ก็จะสามารถทำได้ ผ่าน API นี่เอง

เรามีหน้าที่เขียน API เพื่อให้คนอื่นเรียกใช้งาน รับค่ามา และส่งค่าคืน ส่วนเว็บคนอื่น ที่มาเชื่อม API เรา ก็ศึกษาแค่ว่า จะส่งค่ามาให้เราอย่างไร และจะรับค่ากลับไปใช้งานอย่างไรเท่านั้นเอง เป็นการทำงานส่วนของ server ที่ user มองไม่เห็น ดังนั้น เค้าจึงสามารถเขียน HTML ขึ้นมาครอบหน้าตาระบบเหล่านี้ได้อีกที โดย user ไม่รู้เลย ว่าจริงๆแล้ว ระบบที่ทำงานอยู่นั้น ไม่ได้รันที่เค้า แต่รันที่เรา เค้ามีหน้าที่แค่รับค่า ส่งค่า แสดงผล จากเราเท่านั้นเอง

สำหรับ API ที่น่าจะรู้จักกันอยู่แล้ว ก็คือ facebook connect หรือ กล่องด้านขวามือของเว็บนี้ ถือว่าเป็น API แบบง่ายๆตัวหนึ่ง ที่ facebook ยอมให้เราเอามาใช้ เพราะว่าจริงๆแล้ว ระบบที่รันเพื่อแสดงผล ก็รันที่ facebook ไม่ได้รันที่ meewebfree เลย

โดย API ถือว่าเป็นเครื่องมือหนึ่ง ที่จะทำให้ service ที่ดีๆ ที่มีบริการในปัจจุบัน สามารถประสบความสำเร็จได้เร็วมากขึ้น ตัวอย่างที่ชัดเจนก็คือ Twitter ในยุคที่ twitter รุ่งเรืองสุดๆนั้น เราจะเห็นว่า มีหลายเว็บ ที่มีการเชื่อมโยงข้อมูลกับ twitter อย่างมากมายเลย ทั้งเป็นการอ่านข้อมูลจาก twitter หรือ ส่งข้อมูลเข้า twitter เองก็ตาม ดังจะเห็นได้ชัดจากโปรแกรมหลายๆโปรแกรมที่ใช้ tweet กัน เชื่อหรือไม่ว่า  twitter ไม่ได้ทำเองเลย... คนอื่น ที่ไม่ได้เกี่ยวข้องกับเจ้าของ twitter เป็นคนทำทั้งหมด โดยอาศัยการเชื่อมต่อแลกเปลี่ยนข้อมูลกันด้วย API นี่เอง

พอได้รู้อย่างนี้แล้ว น่าจะเข้าใจมากขึ้นแล้วนะครับ ว่า API มันเป็นมา และทำงานอย่างไร

แต่อย่างไรก็ดี API นั้นไม่ได้มีมาตรฐานที่ตายตัว ว่าจะใช้งาน หรือเขียนคำสั่งที่เหมือนกันหมด แต่กลับเป็นว่า API ของ 10 ระบบ เราก็จะต้องเขียนการเชือมต่อ 10 แบบเลย เพราะว่าแต่ละบริษัท ต่างมีการพัฒนา API ในแนวทางที่ต่างกัน ดังนั้น จึงเป็นหน้าที่ของคนที่เรียกใช้ API นี่แหล่ะ ที่จะต้องศึกษา ว่าเราจะอ่านข้อมูลจากเค้ามาได้อย่างไร และจะส่งข้อมูลไปให้เค้าได้อย่างไร ซึ่งบริษัทไหนที่มี API ที่ใช้งานง่าย ตัวอย่างเยอะ ก็มักจะประสบความสำเร็จได้เร็วอีกเช่นกัน โดยตัวอย่าง API ยอดแย่ ผมยกให้กับ facebook เลยครับ เพราะว่าเป็น API ที่ใช้งานยาก มีหลาย version (ที่บางส่วนทำงานเหลื่อมกันอีก), update policy บ่อยมาก (tutorial ที่เคยใช้ได้ ก็ใช้ไม่ได้ ทั้งเว็บตัวเองและเว็บความรู้ทั่วไป) ซึ่งทั้งหมด เหล่านี้ส่งผลให้ facebook api มี learning curve ที่สูงมาก (สูงมากที่สุดที่ผมเคยจับมา) แต่จะว่าไป ผมคงโง่เองมั้งเนี่ย 555 แต่โง่ๆก็เขียน API เชื่อม registrar ของต่างประเทศให้มันทำงานได้อยู่นะ  สรุปเราโง่ หรือ API มันแย่เนี่ย

 

[PRINT VERSION] เขียน: 2010-10-01 09:43:52 แก้ไข : 2010-10-01 09:43:52 อ่าน : 20736
tag : API, API คืออะไร, API ทำงานอย่างไร, API ใช้ยังไง

Comment

Comment
BeYourCyber - 01/10/2010 08:43:52 -
ร่วมพูดคุยในหัวข้อของบทความ API คืออะไร เกี่ยวข้องกับการทำเว็บอย่างไร
หลายคนไม่เข้าใจ และนึกภาพไม่ออก ว่า API เค้ามีให้เราไว้ทำอะไร และเราทำอะไรกับ API ได้บ้าง รวมไปถึงเราจะได้ประโยชน์อะไรจาก API
Guest - 06/06/2011 14:16:59 - 158.108.229.67
อย่างตัวอย่างข้างๆนี่ต้องทำอย่างไรบ้างค่ะ
Guest - 19/07/2011 23:41:51 - 110.168.90.203
thx for good content ^^
Guest - 15/08/2011 07:42:53 - 110.164.213.157
เห็นด้วยอย่างยิ่งครับ ( โดยตัวอย่าง API  Fackbook ยอดแย่ )
ตัวอย่างน้อย 
เหมือนนั่งเปิดอ่านดิกชั้นนารี่ แต่ไม่รู้แกรมมา หรือ ซินแทรค  
รู้ความหมาย แต่ไม่มีวิธีการเรียงประโยค จะคุยกันรู้เรื่องได้อย่างไร ^^!
Guest - 03/10/2011 11:29:25 - 124.120.56.224
Thank you for this document
i just know that what is API meaning ^_^

nikom2532
Guest - 24/02/2012 08:53:39 - 58.136.222.136
พอมีวิธีเขียนไมค่ะ
BeYourCyber - 24/02/2012 15:20:28 - 58.10.99.156
เขียนส่วนที่เป็น API หรือว่าส่วน เชื่อมครับ
ถ้าส่วนเชื่อม หรือส่วน request เราก็ตามคู่มือเลยครับ

ถ้าเขียนส่วน API นี่ยากกว่า เพราะว่าต้องเข้าใจระบบทั้งหมดก่อนว่าจะประกอบด้วยอะไรบ้างแล้วเราจึงจะออกแบบเพื่อให้รับ request พวกนั้นได้

เราก็ออกแบบให้รับค่าเหมือนกับระบบจาก user input นี่แหล่ะครับ แต่ไม่ต้องทำหน้า form เท่านั้นเอง
Guest - 30/01/2013 00:00:22 - 58.9.5.26
แล้วถ้าเราอยากพิมพ์ข้อความจากโปรแกรมแล้วให้ไปแชร์ในfacebookอย่างงี้ละค่ะ เราจะสามารถใช้API ได้ไหมคะ
BeYourCyber - 30/01/2013 09:59:15 - 203.147.5.119
ได้ครับ ก็จะต้องใช้ facebook API ครับ
ขึ้นอยุ่กับว่าไปแชร์ในรูปแบบไหน อย่างไร มีทั้งแบบอัตโนมัติ(ไม่แน่ว่าตอนนี้ ถอดออกไปหรือยัง) และแบบ กึ่งอัตโนมัติ(ต้องกด allow จาก popup ไป) และแบบปกติคือกด share ธรรมดา แต่เราจะระบุ content image อะไรต่างๆเหล่านี้ได้
Guest - 19/05/2013 10:06:36 - 110.168.110.77
Thanks krab