Applications and ToolsDeveloperFacebook DeveloperIdea for LifeIdea for TechologyInnovationLife StylePHPProgramming LanguageSocial MediaSocial Media MarketingSocial NetworkThe ThinkerWeb Service Technology

พัฒนา Facebook Open Graph API ตอนที่ 8 ป่วน Wall เพื่อน

วิธีการใช้ Facebook Open Graph API ดึงลิสรายชื่อเพื่อนของเราทั้งหมดมาเก็บไว้ในที่หน้าฟอร์มแล้วยิงข้อความไปที่ Wall เพื่อนนั้นทำง่ายมากครับก่อนอื่นเลยต้องมีไฟล์ SDK ของ Facebook API ครับ แล้วก็ไปสร้าง Apps บนหน้า http://developers.facebook.com ก่อนนะครับ ซึ่งถ้าใครยังทำไม่ได้ให้ไปศึกษาที่ บทความเหล่านี้

พัฒนา Open Graph API ของ Facebook ด้วย PHP ฉบับเริ่มต้น ตอนที่ 1
พัฒนา Open Graph API ของ Facebook ด้วย PHP ฉบับเริ่มต้น ตอนที่ 2

เมื่อสร้าง Apps แล้วให้ไปที่ “Graph API explorer” ที่ https://developers.facebook.com/tools/explorer ก่อนนะครับ เมนู Graph API Explorer นั้นให้เลือกเป็น Apps ที่เราสร้างขึ้นเพื่อใช้กับ กรณี ศึกษานี้ก่อน

สร้าง Apps บน facebook ใหม่ขึ้นมาก่อน
สร้าง Apps บน facebook ใหม่ขึ้นมาก่อน
ตั้งค่าใน API Explorer ก่อนนะครับ
ตั้งค่าใน API Explorer ก่อนนะครับ

เมื่อเลือกแล้วให้ทำการ กดที่ปุ่ม Get Access token เพื่อขอสิทธิบางอย่าง

คราวนี้เราต้องเล่นกับ Extends Permissions
คราวนี้เราต้องเล่นกับ Extends Permissions

ในกรณีนี้เราต้องเลือก Extended Permissions ก่อนแล้วไป คลิกเครื่องหมายถูกที่ publish_stream ครับ เสร็จแล้วให้กด Get Access Token ก็เป็นอันจบครับ

กลับมาที่ Code ของเราครับ สร้าง HTML หน้า Form โดยมี Drop Down List และปุ่มขึ้นมาบน Form ก่อนนะครับ





ขอโทษที่ อ่านยาก เพราะผมไม่ใช่ Blogger รีวิวของ กระโหลกกะลา นะครับ


แทรก Code ของ Facebook SDK ลงไปตาม บทความก่อนหน้านี้ครับ

 'APPID',
  'secret' => 'SECRET',
));
// Get User ID
$user = $facebook->getUser();
if ($user) {
  try {
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }
}
//เอาไว้ แทรก Post
?>

สังเกตตำแหน่งที่ผมเขียนว่า “//เอาไว้แทรก Post” ไหมครับ ให้แทรก Code PHP ดังนี้ครับเพื่อ ขอสิทธิในการ Alert อนุญาติให้ Facebook ใช้บัญชีคุณ Post อะไรก็ได้ และขอ Access ส่วนของ freinds ครับ

if ($user) {
  $logoutUrl = $facebook->getLogoutUrl();
   $user_friends =$facebook->api('/me/friends');
   sort($user_friends['data']);
} else {
  $loginUrl = $facebook->getLoginUrl( array(
  		'scope'=>'publish_stream'
  ));
}

คำสั่ง sort($user_friends[‘data’]); จะถูกเรียกใช้ ต่อจากนี้ครับ ไปที่ Tag HTML ของ Drop Down List ครับ แทรก Code ตามนี้

ลองรันตัวอย่างดูครับ จะได้ Facebook Apps ที่สามารถยุ่งกับรายชื่อเพื่อน และมีสิทธิในการเข้าถึงหน้า Wall ของเพื่อนเราได้ด้วยนะครับ

ทดสอบการใช้งาน Apps
ทดสอบการใช้งาน Apps
เรียก Extends Permissions ในการขอสิทธิเข้าถึงข้อมูลของ Wall เพื่อน
เรียก Extends Permissions ในการขอสิทธิเข้าถึงข้อมูลของ Wall เพื่อน
กลับไปห้า Form ที่สร้างขึ้น
กลับไปหน้า Form ที่สร้างขึ้น

หน้าของ ฟอร์มจะมี Drow Down List คราวนี้ก็สามารถนำไปประยุกต์ใช้กับ Code ในการ Publish Wall ได้แล้วครับ ซึ่งเราสามารถแทรก Code ชุดนี้ลงในส่วนของหน้า ดังกล่าว

//Post
if(isset($_POST['submit'])){
	$sentofriend=$_POST['friend'];
	$message=$_POST['message'];
	$name=$_POST['name'];
	$link=$_POST['link'];
	$caption=$_POST['caption'];
	$picture=$_POST['picture'];
	$actions_name=$_POST['actions_name'];
	$actions_link=$_POST['actions_link'];
	$attachment = array(
	
    'message' => ''.$message.'',
    'name' => ''.$name.'',
    'caption' => ''.$caption.'',
    'link' => ''.$link.'',
	'description' => 'หน้าม้า ตัวจริงขอคอนเฟิร์มว่ามันแจ่มโลกมากม่าก',
    'picture' => ''.$picture.'',
    'actions' => array(
        array(
            'name' => ''.$actions_name.'',
            'link' => ''.$actions_link.''
        )
    ));
	if($result=$facebook->api('/'.$sentofriend.'/feed/','post',$attachment)){
	echo"Success!";
	}else{
	echo"Fail!";
	}

โดยการกระทำจะเกิดขึ้นเมื่อมีการกดปุ่ม Submit หรือ Post ครับ

ไปป่วนหน้า Wall เพื่อนกันครับ
ไปป่วนหน้า Wall เพื่อนกันครับ

ตัวอย่างถ้าอยากเล่นสนุกไปที่นี่ครับ http://www.thaiqr.com/horseface/ แล้วลองป่วนหน้า Wall เพื่อนของเรากันครับ ส่วนชุด Source Code นั้น คิดว่าคงทำได้กันอยู่แล้วถ้าอยากได้ล่ะก็ที่นี่ครับ

Auto Fill and Post Friend’s Wall Facebook API (Version 1.0.0)

บ๊ายบาย…

Asst. Prof. Banyapon Poolsawas

อาจารย์ประจำสาขาวิชาการออกแบบเชิงโต้ตอบ และการพัฒนาเกม วิทยาลัยครีเอทีฟดีไซน์ & เอ็นเตอร์เทนเมนต์เทคโนโลยี มหาวิทยาลัยธุรกิจบัณฑิตย์ ผู้ก่อตั้ง บริษัท Daydev Co., Ltd, (เดย์เดฟ จำกัด)

Related Articles

6 Comments

  1. มันขึ้นว่า Fatal error: Uncaught OAuthException: (#200) Feed story publishing to other users is disabled for this application thrown in C:inetpub….. ช่วยแนะนำหน่อยคับ

Leave a Reply

Back to top button

Adblock Detected

เราตรวจพบว่าคุณใช้ Adblock บนบราวเซอร์ของคุณ,กรุณาปิดระบบ Adblock ก่อนเข้าอ่าน Content ของเรานะครับ, ถือว่าช่วยเหลือกัน