ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => ข้อความที่เริ่มโดย: anonymous ที่ 18 พฤศจิกายน 2011, 19:57:02



หัวข้อ: ใครชำนาญการใช้ opengraphAPI ของ facebook ขอความช่วยเหลือด้วยครับ
เริ่มหัวข้อโดย: anonymous ที่ 18 พฤศจิกายน 2011, 19:57:02
คือกำลังทำ app facebook อยู่ แต่ติดปัญหา คือ
หาวิธี copy ภาพจากเว็ปของเราเข้า album facebook ของผู้ใช้เว็ปเราไม่ได้ ทำได้แค่การ upload ภาพจากคอม คล้ายๆนี้

'source'=>'@'.realpath($_FILES['image']['tmp_name'])

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


หัวข้อ: Re: ใครชำนาญการใช้ opengraphAPI ของ facebook ขอความช่วยเหลือด้วยครับ
เริ่มหัวข้อโดย: freelancethai.org ที่ 18 พฤศจิกายน 2011, 19:58:06
เข้ามารอผู้รู้ด้วย  :wanwan019: :wanwan019:


หัวข้อ: Re: ใครชำนาญการใช้ opengraphAPI ของ facebook ขอความช่วยเหลือด้วยครับ
เริ่มหัวข้อโดย: Kusumoto ที่ 18 พฤศจิกายน 2011, 20:06:09
อยากรู้เรื่องนี้เหมือนกัน ไม่มีโอกาสได้ทำ เลย


หัวข้อ: Re: ใครชำนาญการใช้ opengraphAPI ของ facebook ขอความช่วยเหลือด้วยครับ
เริ่มหัวข้อโดย: khandeeja ที่ 18 พฤศจิกายน 2011, 20:07:20
ลองดูที่ google ได้ประมาณนี้ค่ะ hทีทีพี://www.thaicreate.com/php/forum/056849.html
ใช่รึเปล่าไม่แน่ใจนะค่ะ  :-[


หัวข้อ: Re: ใครชำนาญการใช้ opengraphAPI ของ facebook ขอความช่วยเหลือด้วยครับ
เริ่มหัวข้อโดย: anonymous ที่ 18 พฤศจิกายน 2011, 21:06:48
ลองดูที่ google ได้ประมาณนี้ค่ะ hทีทีพี://www.thaicreate.com/php/forum/056849.html
ใช่รึเปล่าไม่แน่ใจนะค่ะ  :-[

อันนี้ก็ ใช้รูป จากการ upload จากเครื่องเรา ไม่ใช่จากเว็บครับ


หัวข้อ: Re: ใครชำนาญการใช้ opengraphAPI ของ facebook ขอความช่วยเหลือด้วยครับ
เริ่มหัวข้อโดย: freelancethai.org ที่ 18 พฤศจิกายน 2011, 21:58:53
เข้ามาดันหน่อย อยากทราบแนวทางเหมือนกัน


หัวข้อ: Re: ใครชำนาญการใช้ opengraphAPI ของ facebook ขอความช่วยเหลือด้วยครับ
เริ่มหัวข้อโดย: khandeeja ที่ 19 พฤศจิกายน 2011, 06:00:37
คงต้องรอเทพทั้งหลายมาชี้แนะนะค่ะ  :P


หัวข้อ: Re: ใครชำนาญการใช้ opengraphAPI ของ facebook ขอความช่วยเหลือด้วยครับ
เริ่มหัวข้อโดย: tum2550 ที่ 19 พฤศจิกายน 2011, 06:16:47
ช่วยดันครับ  อยากทราบแนวทางเหมือนกัน


หัวข้อ: Re: ใครชำนาญการใช้ opengraphAPI ของ facebook ขอความช่วยเหลือด้วยครับ
เริ่มหัวข้อโดย: jim_no1 ที่ 19 พฤศจิกายน 2011, 08:30:15
คือกำลังทำ app facebook อยู่ แต่ติดปัญหา คือ
หาวิธี copy ภาพจากเว็ปของเราเข้า album facebook ของผู้ใช้เว็ปเราไม่ได้ ทำได้แค่การ upload ภาพจากคอม คล้ายๆนี้

'source'=>'@'.realpath($_FILES['image']['tmp_name'])

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


หัวข้อ: Re: ใครชำนาญการใช้ opengraphAPI ของ facebook ขอความช่วยเหลือด้วยครับ
เริ่มหัวข้อโดย: beg ที่ 19 พฤศจิกายน 2011, 09:45:59
ถ้าอัพโหลดจากไฟล์ในเว็บ ใช้แบบนี้ครับ

โค๊ด:
$args['image'] = '@/data/abc.jpg';

ตัวอย่างโค้ดที่ผมใช้อยู่
โค๊ด:
$picture='/images/userphoto1234.jpg';
$args['message'] ='รูปของฉัน';
$args['image'] = '@'.$pic ;
  try {
  $facebook->api('/me/photos', 'post',$args );
echo '<center><h3>โพสรูปเข้า facebook เรียบร้อยแล้ว</h3>';

} catch (FacebookApiException $e) {
    error_log($e);
echo 'ผิดพลาด ไม่สามารถอัพรูปได้ในขณะนี้ ';
  }


หัวข้อ: Re: ใครชำนาญการใช้ opengraphAPI ของ facebook ขอความช่วยเหลือด้วยครับ
เริ่มหัวข้อโดย: bubbleball ที่ 19 พฤศจิกายน 2011, 09:49:49
ปกติเห็นแต่อัพภาพจากคอมเข้าเว็บ แล้วกด share ใส่ wall


หัวข้อ: Re: ใครชำนาญการใช้ opengraphAPI ของ facebook ขอความช่วยเหลือด้วยครับ
เริ่มหัวข้อโดย: anonymous ที่ 19 พฤศจิกายน 2011, 15:22:44
ถ้าอัพโหลดจากไฟล์ในเว็บ ใช้แบบนี้ครับ

โค๊ด:
$args['image'] = '@/data/abc.jpg';

ตัวอย่างโค้ดที่ผมใช้อยู่
โค๊ด:
$picture='/images/userphoto1234.jpg';
$args['message'] ='รูปของฉัน';
$args['image'] = '@'.$pic ;
  try {
  $facebook->api('/me/photos', 'post',$args );
echo '<center><h3>โพสรูปเข้า facebook เรียบร้อยแล้ว</h3>';

} catch (FacebookApiException $e) {
    error_log($e);
echo 'ผิดพลาด ไม่สามารถอัพรูปได้ในขณะนี้ ';
  }


โอ......ได้ละ ขอบคุณมากครับ ยอดเยี่ยมจริงๆ


หัวข้อ: Re: ใครชำนาญการใช้ opengraphAPI ของ facebook ขอความช่วยเหลือด้วยครับ
เริ่มหัวข้อโดย: bonshington ที่ 19 พฤศจิกายน 2011, 18:48:05
1 ต้องได้ access token มาจาก fb
2 ต้องเป็น fb app ที่ผู้ใช้งานกดตกลง และยอมให้เข้าถึงข้อมูลเท่านั้น
3 เอา image เป็น png ขนาดไม่เกิน 720p post
4 form เป็น multipart/form-data
5 รูปยัดลง source ไม่ใช่ image เหมือนใน ตย
6 batch process ไม่รองรับการอัพหลายรูป
7 ในการอัพรูป ถ้าไม่กำหนด albbum_id มันจะไป album ของ app
8 โพส form ใช้ curl

หรือถ้าจะง่ายที่สุด
ลง social plug-in แล้วโพส link (share link) ง่ายกว่า

!! โทด จำผิด source มันสำหรับ checkin


หัวข้อ: Re: ใครชำนาญการใช้ opengraphAPI ของ facebook ขอความช่วยเหลือด้วยครับ
เริ่มหัวข้อโดย: freelancethai.org ที่ 19 พฤศจิกายน 2011, 18:51:01
แนวทางแจ่มๆ  :wanwan004: :wanwan004:


หัวข้อ: Re: ใครชำนาญการใช้ opengraphAPI ของ facebook ขอความช่วยเหลือด้วยครับ
เริ่มหัวข้อโดย: jim_no1 ที่ 20 พฤศจิกายน 2011, 00:27:42
ถ้าอัพโหลดจากไฟล์ในเว็บ ใช้แบบนี้ครับ

โค๊ด:
$args['image'] = '@/data/abc.jpg';

ตัวอย่างโค้ดที่ผมใช้อยู่
โค๊ด:
$picture='/images/userphoto1234.jpg';
$args['message'] ='รูปของฉัน';
$args['image'] = '@'.$pic ;
  try {
  $facebook->api('/me/photos', 'post',$args );
echo '<center><h3>โพสรูปเข้า facebook เรียบร้อยแล้ว</h3>';

} catch (FacebookApiException $e) {
    error_log($e);
echo 'ผิดพลาด ไม่สามารถอัพรูปได้ในขณะนี้ ';
  }


ผมได้พยายามแล้วครับ แต่ว่ายังทำไม่ได้ สงสัยเพราะยังไม่เข้าใจน่ะครับ
หน้า Upload ผมเขียนอย่างนี้ครับ
โค๊ด:
<form method="post" action="upload_resize1.php" enctype="multipart/form-data">
        <span class="style2">ทำการเลือกภาพที่จะ Upload เพื่อออกแบบรถของท่าน</span><br />
        <input type="hidden" name="MAX_FILE_SIZE" value="50000000" />
        <input type="file" name="fileupload" />
      <input name="submit" type="submit" id="submit" value="Submit" />
      </form>
        <form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
          <table width="350" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#8EFF26" id="Figure">
            <tr>
              <td width="350" height="230" align="center" valign="middle" background="../../image/Front_car.gif">&nbsp;</td>
            </tr>
          </table>
        </form>
จะออกมาเป็นอย่างนี้ครับ หน้า Upload รูป (http://jimmodify.com/design/Plate_car/home_car.php)
ส่วนอีกหน้าก็จะเป็นการรับค่าครับผมเขียนอย่างนี้ เพื่อเอาภาพที่ผู้ Upload ภาพเข้ามานั้นโชว์ออกมา
โค๊ด:
$fileupload=$_FILES['fileupload']['tmp_name'];
$fileupload_name=$_FILES['fileupload']['name'];
$fileupload_size=$_FILES['fileupload']['size'];
$fileupload_type=$_FILES['fileupload']['type'];

$ext = strtolower(end(explode('.', $fileupload_name)));

if ($ext == "jpg" or $ext == "jpeg" or $ext =="png" or $ext=="gif") {
copy($fileupload,$fileupload_name);

if ($ext =="jpg" or $ext =="jpeg") {
$ori_img = imagecreatefromjpeg($fileupload);
} else if ($ext =="png") {
$ori_img = imagecreatefrompng($fileupload);
} else if ($ext =="gif") {
$ori_img = imagecreatefromgif($fileupload);
}

$ori_size = getimagesize($fileupload);
$ori_w = $ori_size[0];
$ori_h = $ori_size[1];

if ($ori_w>350) {
$new_w = 350;
$new_h = round(($new_w/$ori_w) * $ori_h);
$new_img= imagecreatetruecolor($new_w, $new_h);
imagecopyresized( $new_img, $ori_img,0,0,0,0,$new_w, $new_h,$ori_w,$ori_h);

if ($ext =="jpg" or $ext =="jpeg") {
imagejpeg($new_img,$fileupload_name);
} else if ($ext =="png") {
imagejpeg($new_img,$fileupload_name);
} else if ($ext =="gif") {
imagejpeg($new_img,$fileupload_name);
}

imagedestroy($ori_img);
imagedestroy($new_img);
}
    unlink($fileupload);
echo "<IMG SRC='$fileupload_name'>";
} else {
echo "<H3>ขออภัย : คุณยังไม่ได้เลือกภาพที่จะ Upload</H3><br /><a href='xxx.php'>คลิ๊กที่นี่ เพื่อกลับไป Upload ภาพใหม่อีกครั้ง</a>";
}
ตอนนี้ผมได้ทอลองดูแล้ว แต่ว่าไม่สำเร็จน่ะ ( ตามที่แนะนำนะ )

บอกนิดนึงก่อน ผมได้ทำให้ ผู้ที่ได้ทำการ Upload รูปมานั้น ไม่ว่าจะขนาดเท่าไหร่ ก็ตาม
จะย่อให้เล็กลงอยู่แล้ว
คลาวนี้ผมต่องการให้รูปที่มีผู้ Upload เข้ามานั้น ไปโชว์ด้วย
หากเป็นไปได้ ก็เจ๋งเป็นอย่างยิ่งเลยล่ะ

ขอความกรุณาแนะนำด้วยครับว่า ผมต่องแทรกและแก้ไขยังไงครับ เพราะว่าหัวข้อนี้ผมมีความสนใจมากเป็นพิเศษ เลยก็ว่าได้ครับ


หัวข้อ: Re: ใครชำนาญการใช้ opengraphAPI ของ facebook ขอความช่วยเหลือด้วยครับ
เริ่มหัวข้อโดย: nuugib ที่ 20 พฤศจิกายน 2011, 00:30:38
เคยเขียนตั้งแต่สมัย old api 

แบบ graph ตอนนี้ถ้าเขียน แล้ววางบนโฮส ที่ไม่ใช่ https  ยังสามารถรันได้ไหมคะ

ตอนนี้งานค้างทิ้งไว้หลายตัวเลย เพราะเขียนถึงแค่ authen แบบใหม่ก้อไม่เป็งแล้ว

มีแหล่งความรู้ที่ไหนแนะนำได้ไหมคะ  :wanwan017: :wanwan017:


หัวข้อ: Re: ใครชำนาญการใช้ opengraphAPI ของ facebook ขอความช่วยเหลือด้วยครับ
เริ่มหัวข้อโดย: bonshington ที่ 20 พฤศจิกายน 2011, 10:51:48
เคยเขียนตั้งแต่สมัย old api 

แบบ graph ตอนนี้ถ้าเขียน แล้ววางบนโฮส ที่ไม่ใช่ https  ยังสามารถรันได้ไหมคะ

ตอนนี้งานค้างทิ้งไว้หลายตัวเลย เพราะเขียนถึงแค่ authen แบบใหม่ก้อไม่เป็งแล้ว

มีแหล่งความรู้ที่ไหนแนะนำได้ไหมคะ  :wanwan017: :wanwan017:
หลัง 1 ตค fb บังคับให้แอพต้องมี  https คับ


หัวข้อ: Re: ใครชำนาญการใช้ opengraphAPI ของ facebook ขอความช่วยเหลือด้วยครับ
เริ่มหัวข้อโดย: jim_no1 ที่ 20 พฤศจิกายน 2011, 16:58:30
1 ต้องได้ access token มาจาก fb
2 ต้องเป็น fb app ที่ผู้ใช้งานกดตกลง และยอมให้เข้าถึงข้อมูลเท่านั้น
3 เอา image เป็น png ขนาดไม่เกิน 720p post
4 form เป็น multipart/form-data
5 รูปยัดลง source ไม่ใช่ image เหมือนใน ตย
6 batch process ไม่รองรับการอัพหลายรูป
7 ในการอัพรูป ถ้าไม่กำหนด albbum_id มันจะไป album ของ app
8 โพส form ใช้ curl

หรือถ้าจะง่ายที่สุด
ลง social plug-in แล้วโพส link (share link) ง่ายกว่า

!! โทด จำผิด source มันสำหรับ checkin
พยายามทำความเข้าใจอยู่ครับ แต่ก็ยัง งง อยู่ดี


หัวข้อ: Re: ใครชำนาญการใช้ opengraphAPI ของ facebook ขอความช่วยเหลือ&
เริ่มหัวข้อโดย: bonshington ที่ 20 พฤศจิกายน 2011, 17:56:23
1 ต้องได้ access token มาจาก fb
2 ต้องเป็น fb app ที่ผู้ใช้งานกดตกลง และยอมให้เข้าถึงข้อมูลเท่านั้น
3 เอา image เป็น png ขนาดไม่เกิน 720p post
4 form เป็น multipart/form-data
5 รูปยัดลง source ไม่ใช่ image เหมือนใน ตย
6 batch process ไม่รองรับการอัพหลายรูป
7 ในการอัพรูป ถ้าไม่กำหนด albbum_id มันจะไป album ของ app
8 โพส form ใช้ curl

หรือถ้าจะง่ายที่สุด
ลง social plug-in แล้วโพส link (share link) ง่ายกว่า

!! โทด จำผิด source มันสำหรับ checkin
พยายามทำความเข้าใจอยู่ครับ แต่ก็ยัง งง อยู่ดี
เท่าที่ดูจาก code เข้าใจว่า user ต้อง upload pic ขึ้นเวปคุณ จากนั้น คุณส่งรูปต่อไปให้ fb
แค่ไม่รู้ว่า มีการทำ oauth อยู่ด้วยรึเปล่า เลยไม่รู้ว่า สาเหตุที่ upload ไม่ได้เป็นเพราะอะไร?
- อาจจะเพราะ ไม่ได้ใ่ส่ permission publish_stream
- ไม่ได้เป็น fb app เพราะแค่ website + fbml มันทำไม่ได้
- ไม่ได้ใส่ appID หรือ app secret
- หรือ app เป็น sandbox mode แล้ว id ที่ลอง ไม่ใช่ fb developer

https://developers.facebook.com/docs/reference/api/permissions/
https://developers.facebook.com/docs/reference/php/
https://developers.facebook.com/docs/reference/php/facebook-setFileUploadSupport/

ปล ตอนผมทำ ทำใน ios ใช้ objective-c + fb sdk งมอยู่นาน กว่าจะ checkin พร้อมกับอัพรูปได้มากกว่า 1 รูป


หัวข้อ: Re: ใครชำนาญการใช้ opengraphAPI ของ facebook ขอความช่วยเหลือ&
เริ่มหัวข้อโดย: jim_no1 ที่ 20 พฤศจิกายน 2011, 19:13:09
1 ต้องได้ access token มาจาก fb
2 ต้องเป็น fb app ที่ผู้ใช้งานกดตกลง และยอมให้เข้าถึงข้อมูลเท่านั้น
3 เอา image เป็น png ขนาดไม่เกิน 720p post
4 form เป็น multipart/form-data
5 รูปยัดลง source ไม่ใช่ image เหมือนใน ตย
6 batch process ไม่รองรับการอัพหลายรูป
7 ในการอัพรูป ถ้าไม่กำหนด albbum_id มันจะไป album ของ app
8 โพส form ใช้ curl

หรือถ้าจะง่ายที่สุด
ลง social plug-in แล้วโพส link (share link) ง่ายกว่า

!! โทด จำผิด source มันสำหรับ checkin
พยายามทำความเข้าใจอยู่ครับ แต่ก็ยัง งง อยู่ดี
เท่าที่ดูจาก code เข้าใจว่า user ต้อง upload pic ขึ้นเวปคุณ จากนั้น คุณส่งรูปต่อไปให้ fb
แค่ไม่รู้ว่า มีการทำ oauth อยู่ด้วยรึเปล่า เลยไม่รู้ว่า สาเหตุที่ upload ไม่ได้เป็นเพราะอะไร?
- อาจจะเพราะ ไม่ได้ใ่ส่ permission publish_stream
- ไม่ได้เป็น fb app เพราะแค่ website + fbml มันทำไม่ได้
- ไม่ได้ใส่ appID หรือ app secret
- หรือ app เป็น sandbox mode แล้ว id ที่ลอง ไม่ใช่ fb developer

https://developers.facebook.com/docs/reference/api/permissions/
https://developers.facebook.com/docs/reference/php/
https://developers.facebook.com/docs/reference/php/facebook-setFileUploadSupport/

ปล ตอนผมทำ ทำใน ios ใช้ objective-c + fb sdk งมอยู่นาน กว่าจะ checkin พร้อมกับอัพรูปได้มากกว่า 1 รูป
คือตอนนี้ผมได้เข้าไปอ่านในหัวข้อที่ท่านแนะนำมาแล้วนะครับ
ไม่รู้ว่าผมเข้าใจถูกต่องหรือป่าวนะครับว่า......
สาเหตุที่ผมยังทำไม่สำเร็จก็เพราะว่าใน facebook ของผมนั้น เป็นโฆษณาที่ผมได้จัดทำขึ้นมา โดยการสร้างใน facebook นี้
จึงไม่สามารถใช้ลูกเล่นนี้ได้

ไม่ทราบว่าผมเข้าใจถูกต่องหรือป่าวน่ะครับ?


หัวข้อ: Re: ใครชำนาญการใช้ opengraphAPI ของ facebook ขอความช่วยเหลือด้วยครับ
เริ่มหัวข้อโดย: anonymous ที่ 20 พฤศจิกายน 2011, 21:14:55
การทำความเข้าใจ opengraphAPI  ค่อนข้างยาก แล้วเจอภาษาอีก มึน ๆๆ
เอาง่ายๆ ลองเข้าไปดู ของคนไทยอธิบายไว้ ก่อน เพื่อความเร็ว มีตัวอย่างใช้งานได้จริง ดีมากๆเลย
http://www.ninenik.com/content.php?arti_id=353


หัวข้อ: Re: ใครชำนาญการใช้ opengraphAPI ของ facebook ขอความช่วยเหลือ&
เริ่มหัวข้อโดย: bonshington ที่ 21 พฤศจิกายน 2011, 02:49:51
เท่าที่ดู code น่าจะติด 3 อันนี้หล่ะ
1 ต้องเป็น app
2 user ต้องกดอนุญาติ ตย เช่น เวลาเราเพิ่ม app บน fb เราต้องกดตกลง
3 ต้อง implement oauth เพื่อให้ได้ access_token มา

จุดหลักในการทำ fb app มี 2ข้อยากๆ
1 oauth เป็นระบบ login dialog ของ fb ที่จะแสดงให้ผู้ใช้งานกดตกลง
2 การรับข้อมูลหลังการ login

การ implement oauth ถ้าไม่ใช้ Facebook php sdk พูดได้เลยว่า เสียเวลาหมาๆ เอ๊ย มากๆ ยาก+เยอะ
คุ้นๆว่า ถ้าเป็ฯ app + web login ไม่ต้อง oauth ก็ได้ แค่ยิง app_id ไป ที่หน้า social login แล้ว fb จะยิงกลับมาเอง

ส่วนในเคสนี้ ขั้นตอนการทำจนได้ accesstoken อธิบายคร่าวๆตามนี้
1 ไปสมัครเป็น app
2 ไปตั้ง app setting ให้มัน redirect มาหน้าเวปเรา(หน้าเวป หรือหน้า app canvas)
3 เมื่อต้องการให้ user login ก็ redirect  user ไป login dialog ของ fb
4 จากนั้น  fb จะยิง req ด้วยการ post กลับมาที่เวปเรา
5 query string มี 2 ส่วน คือ signed_request กับ encoded_sig
6 ถอดรหัสตามด้านล่าง
7 นำ app secret ที่ได้ตอนลงทะเบียน fb app มาเพื่อถอดรหัส encoded_sig (รหัสที่ได้มาพร้อม app id)
8 ถ้า encoded sig แล้วตรงกัน data ที่มันโพสมาอีกตัว แสดงว่า ข้อมูลที่ได้ ถูกต้อง
9 ใน json ที่ได้ จะมี field ชื่อ access_token ก็เอาอันนั้นแหละ มายิง req

แถม code ถอดรหัส fb request เป็น python + django เอาของในเน็ตมาแล้ว เขียนแก้เองใหม่
เวลาใช้ก็

def test(self): return "f0i1KiAELqTuJtJ31jf62JkRZEGq3W35Lg.eyJhbG0aG0iOiJITU ยาวมากๆ"

fb = facebook(self.test())
fb.data คือข้อมูล user ในรูป json แต่ใน python เป็น dict ทั่วไปก็มี uid, access_token

** สังเกตุว่า  ตัว string ที่ fb มันโพสมา จะมีจุด คั่นกลาง ถ้า split แล้ว
- ครึ่งแรก จะเรียกว่า payload เอามาถอด base64 ตามด้วยถอด hmac ด้วย app secret จะได้ string ค่านึง เพื่อตรวจสอบความถูกต้อง
- ครึ่งหลัง เป็น base64 encode ธรรมดา เมื่อถอดออก จะได้ json และถ้าเอาข้อมูลก่อนถอด ไปเข้ารหัส hmac จะต้องตรงกับ payload
ลองอ่านจาก code ละกันคับ อธิบายเอง งงเอง
โค๊ด:
class facebook(object):
   
    def app_secret(self): return "c2103xxxxxac9861a"
   
    def __init__(self, signed_request):
        self.data = self.parse_signed_request(signed_request)
   
    def decode_signed_request(self, inp):
        padding_factor = (4 - len(inp) % 4) % 4
        inp += "="*padding_factor
        return base64.b64decode(unicode(inp).translate(dict(zip(map(ord, u'-_'), u'+/'))))

    def parse_signed_request(self, signed_request):

        l= signed_request.split('.', 2)
        encoded_sig = l[0]
        payload = l[1]

        sig = self.decode_signed_request(encoded_sig)
        data = simplejson.loads(self.decode_signed_request(payload))

       if data.get('algorithm').upper() != 'HMAC-SHA256':
            log.error('Unknown algorithm')
            return None
        else:
            expected_sig = hmac.new(self.app_secret(), msg=payload, digestmod=hashlib.sha256).digest()

        if sig != expected_sig:
            return None
        else:
            log.debug('valid signed request received..')
            return data
ขอเม้าขำๆ แก้เบื่อ ที่มาของ app python ที่ผมเขียน (เป็น fb app ตัวที่สาม) คือ
ช่วงหลังๆ เห็นมีคนนิยมขายของกันใน fb เยอะ และทุกคนบ่นเหมือนกันหมด ว่า จะทำไงให้ shop สวย
ผมเลยเกิดไอเดียว่า น่าจะทำเป็น app tab  ที่ ผู้ขาย สามารถเข้าไปเพิ่มลด สินค้า แก้ไขข้อมูลได้ง่าย และเปลี่ยน themeได้เอง ส่วนผู้ซื้อ ก็แค่เปิด fb page ขึ้นมาก็จบ

ประเด็นคือ ไม่อยากลงทุน เลยหา host free แต่ fb บังคับว่า app ต้องเป็น https จนในที่สุด มาเจอ google app engine ที่ให้บริการฟรี ประเด็นคือมันบังคับให้ 3 ภาษา คือ java + jsp, python, GO
java นั้น เยอะเกินไป คือcode เยอะเกิน ไม่เหมาะกับ app นี้ ตั้งใจว่า อยากทำเป็น code หลังบ้านไม่เยอะ เน้นเป็ฯ json ที่เหลือเป็น javascript จะทำง่ายกว่า เร็วกว่า สวยกว่า มานั่งใช้ jsp
ส่วนภาษา GO ก็ไม่น่าเสี่ยง เพราะพึ่งเกิดใหม่ และมีแต่ google ที่ใช้ เลยไม่รู้จะเขียนไปทำไม
สุดท้าย เลยมาลงที่ python พอได้อ่าน พบว่ามันง่ายมาาาก โครงสสร้างภาษาเป็น mvc แต่กำเนิด syntac อ่านง่ายมากๆ มี แถม lamda function แค่นี้ก็ดีกว่า  java มากโขแล้ว
เริ่มเขียนขำๆได้ วันสองวัน พอเอาขึ้น server แม่มดันมี error กับ python 2.7 ตอนนี้เลยกะว่า หลังปีใหม่ค่อยมา port ลง 2.5 และทำต่อ


หัวข้อ: Re: ใครชำนาญการใช้ opengraphAPI ของ facebook ขอความช่วยเหลือด้วยครับ
เริ่มหัวข้อโดย: jim_no1 ที่ 22 พฤศจิกายน 2011, 16:43:25
ยังคงรอคำแนะนำอยู่นะครับ
เพราะว่่าไม่รู้วิธีจริง ๆ
สงสัยคงเป็นเพราะผมโง่เกินไปหรือป่าว เลยไม่เข้าใจน่ะ


หัวข้อ: Re: ใครชำนาญการใช้ opengraphAPI ของ facebook ขอความช่วยเหลือด้วยครับ
เริ่มหัวข้อโดย: bonshington ที่ 22 พฤศจิกายน 2011, 17:25:59
ยังคงรอคำแนะนำอยู่นะครับ
เพราะว่่าไม่รู้วิธีจริง ๆ
สงสัยคงเป็นเพราะผมโง่เกินไปหรือป่าว เลยไม่เข้าใจน่ะ
ไม่เข้าใจตรงไหน? อยากรู้อะไร? และทำอะไรบ้างแล้วอ่ะคับ?


หัวข้อ: Re: ใครชำนาญการใช้ opengraphAPI ของ facebook ขอความช่วยเหลือด้วยครับ
เริ่มหัวข้อโดย: jim_no1 ที่ 22 พฤศจิกายน 2011, 18:56:20
ยังคงรอคำแนะนำอยู่นะครับ
เพราะว่่าไม่รู้วิธีจริง ๆ
สงสัยคงเป็นเพราะผมโง่เกินไปหรือป่าว เลยไม่เข้าใจน่ะ
ไม่เข้าใจตรงไหน? อยากรู้อะไร? และทำอะไรบ้างแล้วอ่ะคับ?
คืออย่างนี้ครับ
เนื่องจากว่า ผมได้ทำหน้าที่ให้ผู้เข้ามาใช้บริการเค้าได้ทำการ Upload รูปเข้าสู่ระบบ เพื่อเป็นบริการอย่างหนึ่งของเวปผมน่ะ
คลาวนี้ เมื่อได้เข้ามาอ่านในหัวข้อนี้เลยเกิดไอเดียว่า หากเราเอาลูกเล่นนี้มาใช้ในเวปของเราน่าจะดีขึ้น

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

ไม่ทราบว่าต่องทำยังไง เพราะว่าเรื่องโค๊ตนั้น ผมไม่เป็นเลยจริง ๆ แถมไม่รู้เรื่องลูกเล่นต่าง ๆ ด้วย


หัวข้อ: Re: ใครชำนาญการใช้ opengraphAPI ของ facebook ขอความช่วยเหลือด้วยครับ
เริ่มหัวข้อโดย: bonshington ที่ 22 พฤศจิกายน 2011, 19:17:27
โอว ถ้า coding ไม่ถนัดนี่คงยากอ่ะคับ เพราะการจะยัดรูปลง fb ได้ เรื่องเยอะอยู่


หัวข้อ: Re: ใครชำนาญการใช้ opengraphAPI ของ facebook ขอความช่วยเหลือด้วยครับ
เริ่มหัวข้อโดย: jim_no1 ที่ 22 พฤศจิกายน 2011, 20:07:31
โอว ถ้า coding ไม่ถนัดนี่คงยากอ่ะคับ เพราะการจะยัดรูปลง fb ได้ เรื่องเยอะอยู่
ดูท่าจะยากจริง ๆ ซะแล้วดิเนี่ย
แต่ก็ต่องพยายามต่อไป


หัวข้อ: Re: ใครชำนาญการใช้ opengraphAPI ของ facebook ขอความช่วยเหลือด้วยครับ
เริ่มหัวข้อโดย: kokarat ที่ 22 พฤศจิกายน 2011, 20:35:58
เอาตรงๆ นะผมอ่านแล้ว ผม งง คำถาม  :wanwan017:  แบบนี้หรือเปล่า

โค๊ด:
// Upload a photo to a user’s profile
// Your app needs photo_upload permission for this to work
$facebook->setFileUploadSupport(true);

$img = '/tmp/mypic.png';

$photo = $facebook->api(‘/me/photos’, ‘POST’,
                        array( ‘source’ => ‘@’ . $img,
                               ‘message’ => ‘Photo uploaded via the PHP SDK!’
                       ));


หัวข้อ: Re: ใครชำนาญการใช้ opengraphAPI ของ facebook ขอความช่วยเหลือด้วยครับ
เริ่มหัวข้อโดย: thaiterbor ที่ 22 พฤศจิกายน 2011, 21:00:42
สู้ๆๆ มาเป็นกำลังใจอย่างเดียว :wanwan013: :wanwan013:


หัวข้อ: Re: ใครชำนาญการใช้ opengraphAPI ของ facebook ขอความช่วยเหลือด้วยครับ
เริ่มหัวข้อโดย: bonshington ที่ 22 พฤศจิกายน 2011, 22:36:45
ถูกคับ การอัพรุป ต้องเป็น fb app