Получите идентификатор друга с помощью Facebook api для пометки загруженной фотографии
-
21-12-2019 - |
Вопрос
У меня есть следующий код
$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>';