การใช้ Facebook Graph API ในการ Upload ไฟล์ Video ที่มีอยู่กับเราไปขึ้นบน Wall Post หน้า Profile Facebook ของเราด้วยภาษา PHP และ Facebook SDK ครับก่อนจะเข้าสู่ขั้นตอนการพัฒนาส่วนนี้ ต้องมีการเรียนรู้บทเรียนดังต่อไปนี้ก่อน
- พัฒนา Open Graph API ของ Facebook ด้วย PHP ฉบับเริ่มต้น ตอนที่ 2
- พัฒนา Facebook Open Graph API ตอนที่ 3 เรียกดู Place บน Mobile
- พัฒนา Facebook Open Graph API ตอนที่ 4 วัดผลด้วย Keyword ค้นหา
- พัฒนา Facebook Open Graph API ตอนที่ 7 เรียก Feed และจำนวน Comments
ขั้นตอนการ ใช้งาน Graph API สำหรับ Upload ไฟล์ Video
หากมีใครที่ใช้งานผ่าน REST API ไปบน Graph API ได้ วิธีนี้ก็คงไม่ยากเกินกว่าที่เราจะเข้าใจครับ ก่อนอื่นต้องรู้ว่า ไฟล์นามสกุลของ Video ตัวไหนที่รองรับการทำงานบ้างมีดังนี้
- 3g2 (Mobile Video)
- 3gp (Mobile Video)
- 3gpp (Mobile Video)
- asf (Windows Media Video)
- avi (AVI Video)
- dat (MPEG Video)
- divx (DIVX Video)
- dv (DV Video)
- f4v (Flash Video)
- flv (Flash Video)
- m2ts (M2TS Video)
- m4v (MPEG-4 Video)
- mkv (Matroska Format)
- mod (MOD Video)
- mov (QuickTime Movie)
- mp4 (MPEG-4 Video)
- mpe (MPEG Video)
- mpeg (MPEG Video)
- mpeg4 (MPEG-4 Video)
- mpg (MPEG Video)
- mts (AVCHD Video)
- nsv (Nullsoft Video)
- ogm (Ogg Media Format)
- ogv (Ogg Video Format)
- qt (QuickTime Movie)
- tod (TOD Video)
- ts (MPEG Transport Stream)
- vob (DVD Video)
- wmv (Windows Media Video)
อันที่จริงก็เกือบจะทุกนามสกุลนะครับ ถ้าไม่มีปัญหาอะไร มาลองพัฒนากันดูหน่อยดีกว่า ก่อนอื่นต้องติดตั้ง SDK ของ Facebook สำหรับ PHP ก่อน จะไม่ขออธิบายอะไรกับการเรียก Facebook SDK นะครับเพราะเขียนให้ศึกษากันมาหลายบทเรียนแล้วที่ “พัฒนา Open Graph API ของ Facebook ด้วย PHP ฉบับเริ่มต้น ตอนที่ 2”
ก่อนอื่นให้ทำการตั้งค่า SDK ของ Facebook ร่วมกับ PHP ให้เรียบร้อยครับ
คำสั่งที่ใช้ก็จะประกอบไปด้วย
top.location.href='" . $dialog_url . "'");
}
$token_url = "https://graph.facebook.com/oauth/access_token?client_id="
. $app_id . "&redirect_uri=" . urlencode($my_url)
. "&client_secret=" . $app_secret
. "&code=" . $code;
$access_token = file_get_contents($token_url);
$post_url = "https://graph-video.facebook.com/me/videos?"
. "title=" . $video_title. "&description=" . $video_desc
. "&". $access_token;
echo '
';
?>
เตรียมไฟล์ Video ที่จะทำการอัพโหลดขึ้น ในที่นี้ผมใช้ไฟล์วีดีโอนี้ครับ Trailer ภาพยนตร์แอ็คชันเรื่อง “แถวนี้แม่งเถื่อน บอกตรงๆนะ”
เมื่อมีไฟล์พร้อมแล้วก็มาเริ่มพัฒนาเลยครับ หน้าแรกของแอพพลิเคชันที่ผมทำขึ้นนั้น จะมีฟังก์ชันให้เข้าสู่ระบบก่อน ซึ่งในการ Upload ไฟล์ Video นั้นต้องขอสิทธิ Permission ผ่าน Extend ในส่วนของ “publish_stream” จาก Graph API ก่อนนะครับ
ตัวอย่างศึกษาได้ที่
https://www.daydev.com/demo/fbuploadapi/
ระบบจะใช้ Javascript ในการขอ Access Token ให้โดยอัตโนมัติ เจอหน้า Form ของเว็บไซต์ดังนี้
ให้อัพโหลดไฟล์ Video ที่เรามีขึ้นไปเลยครับ แล้วรอดูผลลัพธ์
สิ่งที่ได้คือแบบนี้ครับ
เป็นอีกหนึ่งวิธีที่ ไม่ยากใช่ไหมครับ เหมาะกับการเอาไปต่อยอดในเรื่องของ ไฟล์ Video จากแอพพลิเคชันงาน Event ที่เมื่อเราถ่ายเสร็จแล้วก็อัพขึ้นหน้า Profile ไปเลยง่ายดีครับ
Source Code ดาวน์โหลดได้ที่: http://code.google.com/p/daydev/downloads/detail?name=video-upload-with-graph-api.zip
ขอบคุณครับ