สำหรับใครไม่รู้ว่า facebook account จะรู้มาจากไหน ก็ง่ายมากเลยครับ เข้า facebook.com แล้ว login ให้เรียบร้อยหลังจากนั้นก็คลิกที่ชื่อตัวเอง แล้วดูที่ address bar ก็จะเห็น url ว่า facebook.com/[user account] ครับ แล้วเราก็เอา useraccount นี่แหละมาใช้
ตัวอย่าง เช่น ของผม facebook.com/b.kittisak ผมก็ต้องใช้ว่า <img src="http://graph.facebook.com/b.kittisak/picture?type=large"/> แค่นี้ก็จะได้ภาพข้างล่างนี้มาแสดงแล้วล่ะครับ
เมื่อได้ภาพมาแล้ว ทีนี้ก็สุดแท้แต่จะเล่นครับ ซึ่งโดยมากก็จะตกแต่งด้วย CSS นั่นเองครับ
ส่วนที่เป็น type=large นั้นสามารถเปลี่ยนเป็น small, normal, large หรือ square ได้นะครับ ภาพที่ได้ก็จะเป็นภาพขนาดเล็ก , ขนาดกลาง และขนาดใหญ่นั่นเองครับ แต่ผมว่าระบุขนาดไปเลยก็น่าจะควบคุมอะไรๆได้ง่ายกว่า
นอกจากนี้ยังสามารถบอกให้ facebook ตัดขนาดมาให้เราตามใจได้อีกด้วย (แหม...ใจดีจัง) โดยเขียนดังนี้ครับ https://graph.facebook.com/b.kittisak/picture?width=300&height=600 ซึ่งหากระบุอัตราส่วนไม่ถูกต้องงานจะเข้าได้ เช่น ได้ภาพมาครึ่งหน้า
ดังนั้นเราก็สามารถกำหนดค่าไปแค่ด้านกว้างหรือด้านยาวเพียงอย่างเดียวก็ได้ เพื่อรักษาอัตราส่วนกว้างและยาวเอาไว้เท่าต้นฉบับนั่นเองครับ เช่น https://graph.facebook.com/b.kittisak/picture?width=400
จากที่เราลองเล่นกันมานี่จะสังเกตได้อย่างนึงครับว่า เอาเข้าจริงๆแล้วมันจะมี phisical url ที่ไม่ใช่ url friendly แบบนั้น โดยหากเราเอา url ที่เราคุยกันอยู่นี้ไปโพสต์ใส่ Browser คุณก็จะพบว่ามันจะคืนค่ากลับมาให้เห็นเป็นชื่อยาวๆแปลกๆจำยากๆ เช่น ภาพล่าสุดนี่มันคือ https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xap1/v/t1.0-1/p320x320/10527825_10203221878685517_4285389220159210932_n.jpg?oh=b909a11f196332040739ce0514143980&oe=54942DE1&__gda__=1422790708_9728068aeacd64eb07fe85bd7cef6894 ซึ่งจากที่เห็นนี่ผมคิดว่า url นี้อาจเปลี่ยนไปได้เรื่อยๆ ดังนั้นคงไม่เหมาะนักหากเราจะจำ url แบบนี้ไว้ แถมยังพิมพ์ยาก และไม่สื่อความหมายอีกด้วย
และหากต่อด้วย Parameter &redirect=false facebook จะคืนค่ามาใน format JSON ซึ่งสามารถนำไปต่อยอดได้หลากหลายครับ
เวลาใช้งานใช้งานจริง PHP ใช้ Code เก็บข้อมูลดังนี้
$img = file_get_contents('https://graph.facebook.com/'.$fid.'/picture?type=large');
$file = dirname(__file__).'/avatar/'.$fid.'.jpg';
file_put_contents($file, $img);
ผมลองเขียนสั้นๆ เอาจบเร็วๆเป็นเรื่องๆไปแบบนี้ ก็หวังว่าเพื่อนๆคงจะนำไปประยุกต์ใช้กันได้ง่ายขึ้นแล้วนะครับ สำหรับตอนนี้ก็ขอจบลงเพียงเท่านี้ ไว้เจอกันใหม่ตอนหน้านะครับ
กิตติศักดิ์ บุญราศรี
อ้างอิง : http://stackoverflow.com/questions/2821061
0 ความคิดเห็น