如何使用Facebook Graph API在照片中标记用户?

问题描述:

我想:如何使用Facebook Graph API在照片中标记用户?

$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

有人可以证实我在最近上传的照片中无法标记用户?

目前没有用Facebook Graph API设置标签的机制。

您可以使用photos.addTag与旧的REST API,您应该可以在这里下载:http://pearhub.org/get/facebook-0.1.0.tgz。如果有人有更好的链接,我将不胜感激。

从Facebook开发人员看这篇文章http://developers.facebook.com/blog/post/371新的API似乎不会支持设置标签“让用户进行标记”。这对于想要集成标记的应用程序(如我的)来说是不幸的。

的URL更改为

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

tags是不兼容的方法!使用photo来检索指定的数据

看看!

http://developers.facebook.com/docs/reference/api/photo用于标记照片中的用户。

+1

对不起,但在你的链接没有任何关于标签的人。我不需要检索数据,但要发布它。 – FR6 2010-06-10 20:27:20

上传图像和标记多个人在一个步骤中使用PHP的Facebook图形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']是上传照片的ID。

注: 1.文件上传选项被设置时初始化的Facebook对象:

$facebook = new Facebook(array(
    /*..*/ 
    'fileUpload' => true, 
)); 
  1. publish_stream permission具有被授予;
开始=>
+1

作品!我很好奇,你是怎么想出'tag_uid'的?照片文档页面声称使用'to'(适用于单个标签)https://developers.facebook.com/docs/reference/api/photo/。他们改变的速度太快了,他们的文档跟不上! – Carson 2012-07-16 18:48:16

+0

y'x'n'y'是什么? – jpganz18 2013-04-07 02:32:38

+0

(x,y)是您上传图片中标记的坐标。 – Andrius 2013-04-07 13:35:25