Como posso marcar um usuário em uma foto usando a API de gráfico do Facebook?

Eu tentei:

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

Ele me devolveu:

 {"error":{"type":"QueryParseException","message":"Unknown path components: \/tags"}} 

Não parece possível porque não está na documentação do Facebook:

http://developers.facebook.com/docs/api#publishing

Alguém pode me confirmar que não é possível marcar um usuário em uma foto carregada recentemente?

Não há nenhum mecanismo atual para definir tags com a API de gráfico do Facebook.

Você pode usar photos.addTag com a API REST antiga, que você deve baixar aqui: http://pearhub.org/get/facebook-0.1.0.tgz . Se alguém tiver um link melhor, eu apreciaria isso.

Olhando para este artigo dos desenvolvedores do Facebook http://developers.facebook.com/blog/post/371 , parece provável que a nova API nunca suporte as tags de configuração “deixe os usuários fazer a marcação”. Isso é infeliz para aplicativos (como os meus) que desejam integrar a marcação.

Fazendo upload de imagem e marcando várias pessoas em uma etapa usando 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); 

Onde $ Facebook é inicializado do object do Facebook SDK do PHP. $ data [‘id’] é id de foto carregada.

Notas: 1. A opção fileUpload deve ser definida ao inicializar o object do Facebook:

 $facebook = new Facebook(array( /*..*/ 'fileUpload' => true, )); 
  1. A permissão de publicação_direito deve ser concedida;

Mude o URL para

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

tags não é um método compatível! use uma photo para recuperar os dados especificados

Dê uma olhada!

http://developers.facebook.com/docs/reference/api/photo para marcar usuários em fotos.