ดึง Profile ของ​ User Facebook ผ่าน Facebook Graph API ด้วย Titanium Mobile

หลังจากที่เราเรียนรู้วิธีการใข้ Facebook เพื่อจัดการระบบ User ของเราแล้วนั้น ในบทความนี้ ผมจะขอกล่าวถึงวิธีการดึงเอาข้อมูลอื่น ๆ ของ User เพื่อนำมาใช้งานต่อ โดยในบทความนี้จะกล่าวถึง API ของ Facebook ที่ใช้ชื่อว่า Graph API ครับ



Facebook Graph API เป็น API หลักในการดึงข้อมูล และ ทำการ Post ไปยัง Wall ของแต่ User โดย Function หลัก ๆ ของ Graph API นั้น สามารถเข้าไปดูได้ที่ Facebook Graph API Reference และในส่วนของ Titanium Mobile นั้นเราจะใช้ Function ของ Titanium.Facebook ที่มีชื่อว่า 
requestWithGraphPath
เรามาเร่ิมกันเลยดีกว่าครับ ก่อนอื่นเลยก็ต้องทำการตั้งค่าสำหรับ Application ของเราก่อนนะครับ ดูได้จาก การใช้ Facebook เพื่อจัดการระบบ Login และ User ด้วย Titanium Mobile
var win = Ti.UI.createWindow({
       backgroundColor : '#fff'
});

Ti.Facebook.appid = '253673451435346';
Ti.Facebook.permissions = ['publish_stream'];
Ti.Facebook.addEventListener('login', function(e) {
   if (e.success) {
      alert('Logged in');
   }
});

win.add(Ti.Facebook.createLoginButton({
                                        top : 50,
                                        style : Ti.Facebook.BUTTON_STYLE_WIDE
                                      })
);

จากนั้นก็ทำการเพิ่มปุ่มขึ้นมา 1 ปุ่มเพื่อทำการ ดึงข้อมูล Profile ของเราขึ้นมาครับ
var buttonGetinfo = Titanium.UI.createButton({
   title:'Get my info',
   width : 120
});

จากนั้นก็ทำการเขียน เพื่อจับ Event ของการ Click ลงบนปุ่ม โดยในปุ่มนั้นจะทำการตรวจสอบก่อนว่ามีการ Login แล้วหรือยัง จากนั้นก็ทำการเรียกใช้  Titanium.Facebook.requestWithGraphPath โดยที่เราจะต้องทำการระบุ Field ที่เราต้องการลงไปด้วย
buttonGetinfo.addEventListener('click',function(){
            Titanium.Facebook.authorize();
            Titanium.Facebook.requestWithGraphPath('me',
                        {fields :  'id,name,first_name,last_name,gender,email,picture,birthday'},
                        'GET',
                        function(data){
                                alert(data);
                        });
});

จากนั้นทดลองรันดูครับ ก็จะพบหน้าจอแบบนี้


กดที่ปุม  Login with Facebook ก่อนเพื่อทำการ Login ตามปกติ จากนั้นทดลองกดที่ปุ่ม Get my info ก็จะพบกับ Information ต่าง ๆ ของ Profile ที่เราทำการ Login ครับ


เราก็สามารถนำข้อมูลตรงนี้ไปใช้ทำอะไรได้อีกหลายต่อหลายอย่าง ทั้งนี้ข้อมูลที่จะได้กลับมานั้นขึ้นอยู่กับ Permission ที่เราร้องขอไว้ใน App ID นั้น ๆ ด้วยนะครับ

ในส่วนของ Field หรือ Path ต่าง ๆ จริง ๆ แล้วยังมีอีกหลาย Path ที่เราสามารถเข้าไปนำข้อมูลดังกล่าวออกมาใช้งานอีกได้อย่างมากมาย โดยเราสามารถที่จะทดลอง  Path ที่เราต้องการผ่านทาง Facebook Graph API Explorer  และในเรื่องของ Path นั้นเราสามารถเข้าไปดูรายละเอียดเพิ่มเติมได้ที่ Facebook Graph API Reference ในบทความนี้ก็จะขอจบลงตรงนี้ก่อน ใยบทความหน้าเราคงยังอยู่กับการทำงานกับ Facebook กันต่อ แต่จะเป็นเรื่องอะไรนั้น ติดตามกันต่อด้วยนะครับ

ปล.  Code ที่เขียนในบทความนี้สามารถใช้ได้ทั้ง iOS และ Android

0 ความคิดเห็น:

โพสต์ความคิดเห็น