获取朋友id使用Facebook api标记上传的照片


Get friend id using Facebook api to tag uploaded photo

我有以下代码

$taggable = (new FacebookRequest(
$session,
'GET',
'/me/friends'
))->execute()->getGraphObject()->asArray();
echo '<pre>' . print_r( $taggable, 1) . '</pre>';

我正在尝试获得也在使用该应用程序的朋友列表的id,以便用户可以与这些朋友标记照片。现在,代码会打印出同样在使用该应用的朋友的名字和id。我想让一个朋友的id归入"标签"的参数,但是getProperty('id')不起作用,给了我一个错误。我是facebook api的新手,所以我不熟悉语法。

如何获取要订阅的好友id:

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

谢谢

完成API调用后,您将得到一个好友列表,如:

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

假设您想要标记第一个人,您可以获得ID如下:

$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>';