احصل على معرف الصديق باستخدام Facebook API لوضع علامة على الصورة التي تم تحميلها

StackOverflow https://stackoverflow.com//questions/25018552

سؤال

لدي الكود التالي

$taggable = (new FacebookRequest(
$session,
'GET',
'/me/friends'
))->execute()->getGraphObject()->asArray();

echo '<pre>' . print_r( $taggable, 1) . '</pre>';

أحاول الحصول على معرف قائمة الأصدقاء الذين يستخدمون التطبيق أيضًا، حتى يتمكن المستخدم من وضع علامة على الصورة مع هؤلاء الأصدقاء.يقوم الرمز حاليًا بطباعة الأصدقاء الذين يستخدمون التطبيق أيضًا، وأسمائهم وهوياتهم.أريد الحصول على معرف صديق ليشترك في معلمات "العلامات"، ولكن getProperty('id') لا يعمل ويعطيني خطأ.أنا جديد على facebook api لذا فأنا غير معتاد على بناء الجملة.

كيف يمكنني الحصول على معرف الصديق للاشتراك في:

 'tags' => '[{\'tag_uid\': \'testing\'}]',

شكرًا

هل كانت مفيدة؟

المحلول

بمجرد إجراء استدعاء API، ستحصل على قائمة بالأصدقاء مثل:

{
  "data": [
    {
      "name": "aaa", 
      "id": "111"
    }, 
    {
      "name": "bbb", 
      "id": "222"
    }, 
    {
      "name": "ccc", 
      "id": "333"
    },
    ...
  ]
}

بافتراض أنك تريد وضع علامة على الشخص الأول، يمكنك الحصول على المعرف على النحو التالي:

$id = $taggable['data'][0]->id;

هذا سوف يحدد $id مثل 111.

يمكنك بعد ذلك الاتصال بواجهة برمجة التطبيقات (API) لوضع علامة على الصورة، كما يلي:

// set tags object (user_id, and position)
$tags = array( array( 'tag_uid' => $id, 'x' => 0, 'y' => 0 ) );

// call api, with json_encoded $tags
$tag = (new FacebookRequest( $session, 'POST', '/{photo_id}/tags', array( 'tags' => json_encode( $tags ) ) ))->execute()->getGraphObject()->asArray();

// output result
echo '<pre>' . print_r( $tag, 1 ) . '</pre>';
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top