Я пытался:
$args = array( 'access_token' => $access_token, 'id' => $uid ); $url = "https://graph.facebook.com/{$idPhoto}/tags"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $args); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); $data = curl_exec($ch);
Это вернуло меня:
{"error":{"type":"QueryParseException","message":"Unknown path components: \/tags"}}
Это не представляется возможным, потому что его нет в документации по Facebook:
http://developers.facebook.com/docs/api#publishing
Может ли кто-нибудь подтвердить мне, что нельзя пометить пользователя в недавно загруженной фотографии?
Нет текущего механизма для установки тегов с помощью API-интерфейса Facebook.
Вы можете использовать photos.addTag со старым REST API, который вы можете скачать здесь: http://pearhub.org/get/facebook-0.1.0.tgz . Если кто-то имеет лучшую ссылку, я был бы признателен.
Глядя на эту статью от разработчиков Facebook http://developers.facebook.com/blog/post/371, кажется, что новый API никогда не будет поддерживать установку тегов «пусть пользователи делают тегирование». Это неприятно для приложений (вроде моих), которые хотят интегрировать тегирование.
Загрузка изображения и пометка нескольких людей за один шаг с использованием PHP API графиков Facebook:
$args = array( 'message' => 'Message', 'image' => '@' . realpath($path_to_image), 'tags' => array( array( 'tag_uid'=> $friend1_uid, 'x' => $x1, 'y' => $y1, ), array( 'tag_uid' => $friend2_uid, 'x' => $x2, 'y' => $y2, ),/*...*/ ), ); $data = $facebook->api('/me/photos', 'post', $args);
Где $ facebook инициализируется Facebook PHP SDK объект. $ data ['id'] – идентификатор загруженной фотографии.
Примечания: 1. Параметр fileUpload должен быть установлен при инициализации объекта Facebook:
$facebook = new Facebook(array( /*..*/ 'fileUpload' => true, ));
Измените URL-адрес на
$url = "https://graph.facebook.com/{$idPhoto}/photos";
tags
не совместимый метод! использовать photo
для извлечения указанных данных
Взгляни на!
http://developers.facebook.com/docs/reference/api/photo для пометки пользователей на фотографиях.