Question

I have the following code

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

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

I am trying to get the id of the list of friends who is also using the app, so that the user can tag the photo with these friends. Right now the code prints the friends who are also using the app, their name and id. I want to get the id of a friend to sub into the parameters of "tags", however the getProperty('id') doesn't work and gives me an error. I am new to facebook api so I am unfamiliar with the syntax.

How do I get the id of the friend to sub into:

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

Thanks

Was it helpful?

Solution

Once you've made the API call, you'll get a list of friends like:

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

Assuming you want to tag the first person, you can get the ID as so:

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

This will set $id as 111.

You can then call the API to tag the Photo, as follows:

// 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>';
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top