PHP Ionic Angularjs Phonegap AJAX Javascript CSS MySQL jQuery Forum

facebook API SDK v4 ดึงรายชื่อเพื่อนที่ไม่ได้อยู่ใน app เดียวกันอย่างไรครับ

facebook API SDK v4 ดึงรายชื่อเพื่อนที่ไม่ได้อยู่ใน app เดียวกันอย่างไรครับ
ตามหัวข้อครับ ไม่สามารถจะดึงรายชื่อเพื่อนได้ครับ แต่ถ้าผมใช้ FB user ที่เป็นคนสร้าง app หรือเป็น admin จะโชว์ครับ
พอดีผมมี FB สอง account ไว้ทดสอบครับ


Facebook PHP api sdk v4
Code:

try {
    $friend = (new FacebookRequest( $session, 'GET', '/me/friends' ))->execute()->getGraphObject()->asArray();
    $totalFriend = $friend['summary']->total_count;
    $taggable = (new FacebookRequest( $session, 'GET', '/me/taggable_friends?fields=id,name&limit='.$totalFriend))->execute()->getGraphObject()->asArray();
    } catch (Exception $ex) {
        echo $ex->getMessage();
    }

จากโค้ดถ้าผมใช้ FB user Admin จะสามารถใช้งาน taggable_friends ได้ครับ แต่อีก user ไม่สามารถใช้งานได้ครับ
ผมลอง submitted for review. ตัว taggable_friends แล้วยังไงก็ไม่ผ่าน

แต่ถ้าทั้งสอง user ใช้งานแค่ API /me/friends  ก็จะโชว์เฉพาะคนที่ Authen APP ที่เหมือนกัน

ส่วนที่ผมต้องการคือให้โชว์ทุกคนที่เป็นเพื่อนเราโดยที่ไม่ได้ Authen app

ช่วยด้วยครับ......ขอบคุณครับ

โดย:  Eve201 IP: 183.89.226.xxx วันที่: 14-07-2015 เวลา: 18:33:42

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ


  • ( หรือ สามารถทำการ สมัครสมาชิก และล็อกอิน ด้วย ปุ่ม Log in with Facebook ด้านล่าง )
 ความคิดเห็นที่ 4
ข้อมูลดีมากๆ เลยครับ  ขอบคุณมากครับ 

เคยร้องขอ FB เรื่อง taggable friends ไปแล้ว แต่โดนแจ้งมาว่าอธิบายไม่ clear 
คงต้องลองใหม่ครับ  ภาษาอังกฤษเราก็งูๆปลาๆ  ไงก็ต้องทำให้ได้อ่ะ (ทำไม่ได้ก็โดนไล่ออกดิ 555) 
เด๋วนี้ FB ข้อกำจัดเยอะจริงๆ เหมือนเริ่มศึกษาใหม่อีกรอบ 555


ขอบคุณ Ninenik มากๆครับ  ( ข้อมูลดีๆที่มีอยู่ใน Ninenik.com ) 



โดย:  Eve201 IP: 183.89.226.xxx วันที่: 15-07-2015 เวลา: 13:07:02
 ความคิดเห็นที่ 3
ปกติถ้าจะเรียกใช้งาน api กับ id ใดๆ ของ user ก็น่าจะต้องทำการ authen app หรือสิทธิ์การใช้งาน app นั้นก่อน
บาง user ก็ไม่ได้อนุญาต ส่วนที่เราต้องการก็มีตอน authen app ซึ่งถ้าเราจำเป็นต้องใช้ข้อมูลนั้น ก็ต้อง
กำหนดให้ user ต้องทำการอนุญาตก่อน เราถึงจะสามารถเข้าไปดูรายละเอียดนั้นๆได้
ส่วนที่ว่า admin กับ user ก็ไม่น่าจะเกี่ยวกับ api คงจะเป็นสิทธิการดูข้อมูลของแต่ละ user mี่แตกต่างกัน
น่าจะแบบนี้น่ะ ถ้าเข้าใจไม่ผิด 

>>>  อัพเดท >>> 14-07-2015
------------------------------------------

อัพเดท เท่าที่ลองดู เหมือนจะเป็นเงื่อนไขใหม่ ไม่รู้ว่าอ่านแล้วหรือยัง

https://developers.facebook.com/docs/apps/changelog#v2_0

ตามนี้เลย เหมือนเราจะไม่สามารถดึงงรายชื่อเพื่อนได้ แล้ว จะดึงได้นอกจากคนทีใช้ app และเราต้องร้องขอ permission 

user_friends ด้วย

และถ้าจะดึงได้ทั้งหมด (น่าจะทั้งหมด จะต้องไปใช้ taggable_friends )  

/taggable_friends?fields=id,name,picture&limit=1000


>>>  อัพเดท >>> 14-07-2015
------------------------------------------

เป็นตามแจ้ง tag ก็ใช้ได้เฉพาะ admin แบบนี้แล้วคงทำอะไรไม่ได้ facebook น่าจะจำกัด

 

{
  "error": {
    "message": "(#10) To use taggable_friends on behalf of people who are not admins, developers and testers of your app, your use of this endpoint must be reviewed and approved by Facebook. To submit this feature for review please read our documentation on reviewable features: https://developers.facebook.com/docs/apps/review",
    "type": "OAuthException",
    "code": 10
  }
}


>>>  อัพเดท >>> 15-07-2015
------------------------------------------
  เพิ่มเติม ถามผู้รู้มา พอดีไม่ได้ติดตาม facebook sdk มาซักพัก มาโพสไว้เป็นข้อมูล

รู้สึกว่า  app ใหม่ ๆ เราจะต้องทำการ ส่งคำร้องไปยัง facebook เพื่อขอเปิดใช้งาน การขออนุญาต
permission ต่างๆ ที่ต้องการใช้งาน ซึ่ง app เก่าๆ ไม่ต้องขอ 

การส่งคำร้องจะใข้เวลา พอปะรมาณ ที่เขาบอกๆ มา 7 วัน หรือเป็นเดือน ดังนั้นถ้าเราจะใช้จริงๆ 
ให้ทำการทดสอบ app โดยใช้สถานะ admin deveoper หรือ test user ไปก่อน ให้ระบบทำงานได้ก่อน
แล้วค่อยทำการส่งคำรองไปยัง facebook (facebook แจ้งอย่างนั้น)

ในขั้นตอนการขอ permission เพิ่ม เราต้องเข้าไปในหน้า app

https://developers.facebook.com/apps/

แล้วเลือก app ที่ต้องการ จากนั้นกดที่เมนู status & review

ถ้าต้องการของ permission ส่วนไหนเพิ่ม ให้คลิกที่ปุ่ม start a submission

เลือก permission ทั้งหมดที่เราต้องการใช้งาน 

จากนั้นจะมาหน้าที่ให้เรากรอกข้อมูลเพิ่มเติม

อธิบายการใช้งานตามขั้นตอน เช่น 1. ไปที่ลิ้งค์เพื่อใช้งาน app และติดตั้ง  .2..
(ใช้ภาษาอังกฤษ) พร้อมรุปประกอบ ด้านล่าง

ตามรูป
Fill out the form below to submit your app for approval. You must include usage information about your app for the review team. Your app will be reviewed for compliance with our Platform Policy and Review Guidelines.
The following items must be completed before you can submit your app for review:
  • Please provide Notes for all items before submitting.
read_custom_friendlists
Provides access to the custom lists a person has created to organize their friends. Useful for rendering an audience selector when publishing stories to Facebook. Note: to access the person's friends, you should instead use the user_friends permission.
Facebook Login Integration (required)
Please provide step-by-step instructions in English that show how to access Facebook Login.
 
Test User(optional)
Our review team will use a Test User associated with this app to reproduce the items in your submission.
Screenshots (required)
Screenshots that show our review team how you're using Facebook in your app (4 minimum)
 
 
 
 
 
Submission Confirmation (required)
When you submit, the following platforms will be reviewed: Website, Page Tab. Your app contains platform configuration errors that must be fixed prior to submitting your app for review. Please visit your Settings to edit the platforms that you support.
Last Edited by you - Today at 12:16am
 แจ้งเป็น้ข้อมูล


โดย:  Ninenik IP: 1.47.43.xxx วันที่: 14-07-2015
 ความคิดเห็นที่ 2
ลอง /me/friend?limit=1000 แล้วครับ ผลลัพธ์ยังไม่ได้ครับ


{
  "data": [
    {
      "name": "XXXXXX",
      "id": "XXXXXXXX"
    }

  ]
,

  "paging": {
    "next": "https://graph.facebook.com/10204516810862179/friends?limit=1000&offset=1000&__after_id=enc_AdDu5OIIGi75GWnvzpZAn7R8OZCTC51xnu64EePg0ZC7YTDtZAT11sZCwQqBXFXqWdgFyoJDt3S8mZAaSpniLRIeu1LRSc"
  }
,

  "summary": {
    "total_count": 351
  }

}


DATA ออกมาแค่คนเดียวครับคือ user อีกอันของผมที่ authen APP  แต่ friend จริงผมมี 351 คนอ่ะครับ

ส่วนผมลอง  me/taggable_friends?limit=1000  ผลออกมาครบ 351 ครับ
แต่เอามาใช้เรียก FB API กับ user ที่ไม่ใช่ admin ไม่ได้ครับ  echo $ex->getMessage();  โชว์ error ว่าไม่ใช่ admin
ไม่เข้าใจว่าต้อง setup ตรงไหนครับ



โดย:  Eve201 IP: 101.108.62.xxx วันที่: 14-07-2015 เวลา: 21:51:46
 ความคิดเห็นที่ 1

ไม่แแน่ใจ ไม่น่าจะเกี่ยวน่ะ 

ลองใช้ limit ดู

ปกติเวลาเราดึงข้อมูล ก็จะมาไม่ครบ ต้องกำหนด limit มากๆ เพิ่มเข้าไป 

me/friends?limit=1000

หรือลองศึกษาจากตัวนี้ดู

https://developers.facebook.com/tools/explorer

จะมีให้เรากำหนดค่าต่างๆ ตามต้องการ ตัวไหนต้องการ permission ก็จะมีแจ้ง

 



โดย:  Ninenik IP: 1.47.43.xxx วันที่: 14-07-2015