บ่น facebook API

บ่น facebook API

เพราะว่างานที่ได้รับจำเป็นต้องเชื่อมเข้าไปรันบน facebook หรือว่าต้องเข้าไปสร้าง application นั่นล่ะครับ แต่ทีนี้ปัญหามันเกิดตรงที่ว่า ปัจจุบัน ผมจะรันงานหลักๆด้วย Codeigniter และปกติก็ไม่มีเวลาศึกษา API ของ Facebook ด้วย ก็เลยไปเอา Facebook library ของ Eliot Haugin มาใช้ แต่หลังจากที่ทดสอบก็พบปัญหาอีกมากมาย ไม่ว่าจะเป็นเรื่องของการขอ extend permission ไม่ได้บ้าง การเรียกใช้บาง method ไม่ได้บ้าง session ไม่ทำงานบ้าง (ผลบางส่วนมาจากตัว CodeIgniter เอง) ซึ่งผมเองก็มือใหม่ facebook ด้วย  บอกคำเดียวว่ามึนหลายต่อ เพราะว่าไม่รู้ว่าปัญหามันเกิดจากอะไรแน่ ขมวดประเด็นปัญหาไม่ได้เลย

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

กลับมาที่เรื่องของ facebook api หากใครได้ลองอ่าน และลองใช้ จะรู้ว่ามันมีหลาย version มากๆ แต่ปัญหาไม่ได้อยู่ตรงที่หลาย version ปัญหามันอยู่ตรงที่หลายอย่างมันใช้ไม่ได้ตามคู่มือ และคู่มือก็ไม่ clear เองด้วย ทำให้รู้สึกว่า facebook API เป็นอะไรที่มี learning curve สูงมาก ทำให้เราเสียเวลามากในการจะใช้มัน แล้วประเด็นที่ทำให้ผมขัดใจมากที่สุดก็คือ เป็น API ที่เรื่องมากที่สุดเท่าที่เคยใช้มาเลย เพราะว่าการจะทำอะไร หลายอย่างจะมีเงื่อนไขมาดักแทบจะทุกครั้ง อย่างเช่นเราจะเขียนข้อมูลลง wall ของ user ก็ต้องผ่านด่าน extend permission ไปก่อนซึ่ง extend permission มีตัวเลือกอีกประมาณ 20 กว่าแบบให้ได้เลือกใช้อย่างสนุกสนาน หรือแม้กระทั่งการ login เองก็ตาม ยังต้องมีวิธีการที่หลากหลาย ซึ่งสุดท้ายไม่รู่ว่าจะใช้ตัวไหนดี เพราะว่าบางตัว จะทำงานบางอย่างไม่ได้อีก กรรม....

เอาตัวอย่างมาเทียบคือตอนที่ผมใช้ API ของ registrar แห่งหนึ่งที่รับจดโดเมน และมี option มากมาย แต่ผมก็ไม่เคยเจอเงื่อนไขที่ซับซ้อนเกินกว่า 2 ชั้นในระบบเค้าเลย แล้วการทำงานก็เป็นแบบตรงไปตรงมา มีตัวอย่างให้พร้อมด้วย แต่กับ facebook แทบไม่ต้องมองหาตัวอย่างเลย เพราะว่าไม่มี หรือมีแล้วใช้ไม่ได้เองก็มีอีก

อย่างวันนี้ที่งมครึ่งวันเต็มๆ ก็คือการ share ลง wall ของ user ก็รู้ว่าต้องขอ extend permission ก่อน จึงจะใช้งาน publish_stream ได้ แต่ทำยังไงก็ไม่ได้สักที นี่ขนาดว่าเอา official library จาก facebook ทำเองมาใช้แล้วนะ แล้วก็ทำทุกอย่างถูกต้องแล้ว หรือแม้กระทั่งเอาตัว example ของ official มาทดสอบเองแล้ว ก็ดันใช้ไม่ได้ซะอีก เลยมึนตึ้บ และก็ไม่ใช่แค่ผม ที่ใช้ไม่ได้ ใน forum ส่วน dev เค้าก็ถามไถ่กันมากมาย หลายกระทู้มาก แต่คำตอบก็ให้มาเหมือนตัวอย่างจาก facebook ซึ่งทุกคนก็ลองแล้วมันใช้ไม่ได้ หรือบางกระทู้ที่แนะนำวิธีการตรวจสอบค่าเบื้องต้น ผมก็ตรวจสอบได้ทั้งหมด ว่าถูกต้อง แต่มันก็ยังใช้ไม่ได้ จนกระทั่ง มีคนนึงเค้าก็ลองไปมาจนพบทางสว่าง ว่าต้องใช้รูปแบบอื่น จึงจะใช้งานได้ ผมก็เอามาลอง จนค้นพบว่ามันใช้งานได้แล้ว ตามที่เค้าไปทดสอบของเค้าเอง

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

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

สุดท้ายผมเองก็มานั่งคิดหรือว่าเราโง่เองนะ ที่ใช้มันไม่ได้ หรืออาจจะเป็นเพราะว่า style ของคู่มือกับการทำงานของผมไม่ตรงกันก็ได้ แต่จนแล้วจนรอด ก็หาทางทำมันจนได้นั่นแหล่ะ เอาเป็นว่า ก็หนีไม่พ้น แต่ว่าตอนนี้ถือว่าผ่าน learning curve มาได้ระดับหนึ่งแล้ว ต่อไป ก็อาจจะเอาประสบการณ์มาแชร์ให้เพื่อนๆได้ลองกันอีกทีครับ

Create: Modify : 2010-07-26 09:14:49 Read : 6830 URL :