Как пометить пользователя на фотографии с помощью API Graph Facebook? - PullRequest
5 голосов
/ 10 июня 2010

Я пытался:

$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

Может ли кто-нибудь подтвердить мне, что невозможно пометить пользователя на недавно загруженной фотографии?

Ответы [ 3 ]

28 голосов
/ 29 марта 2011

Загрузка изображения и пометка нескольких людей за один шаг с использованием PHP Facebook Graph API:

$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. При инициализации объекта Facebook должна быть установлена ​​опция fileUpload:

$facebook = new Facebook(array(
  /*..*/
  'fileUpload'  => true,
));
разрешение на публикацию_ потока должно быть предоставлено;
2 голосов
/ 09 июля 2010

В настоящее время не существует механизма для установки тегов с помощью API Graph Facebook.

Вы можете использовать photos.addTag со старым REST API, который вы можете загрузить здесь: http://pearhub.org/get/facebook-0.1.0.tgz. Если у кого-то есть лучшая ссылка, я был бы признателен.

Глядя на эту статью от разработчиков Facebook http://developers.facebook.com/blog/post/371 кажется вероятным, что новый API никогда не будет поддерживать настройку тегов "пусть пользователи делают теги". Это неудачно для приложений (таких как мое), которые хотят интегрировать теги.

1 голос
/ 10 июня 2010

Изменить URL-адрес на

$url = "https://graph.facebook.com/{$idPhoto}/photos";

tags - это не совместимый метод!используйте photo для извлечения указанных данных

Посмотрите!

http://developers.facebook.com/docs/reference/api/photo для пометки пользователей на фотографиях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...