FR6*_*FR6 5 php facebook 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);
Run Code Online (Sandbox Code Playgroud)
它归还了我:
{"error":{"type":"QueryParseException","message":"Unknown path components: \/tags"}}
Run Code Online (Sandbox Code Playgroud)
这似乎不可能,因为它不在Facebook文档中:
http://developers.facebook.com/docs/api#publishing
有人可以确认我在最近上传的照片中标记用户是不可能的吗?
And*_*ius 28
使用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);
Run Code Online (Sandbox Code Playgroud)
其中$ facebook初始化Facebook PHP SDK对象.$ data ['id']是上传照片的ID.
注意:1.初始化Facebook对象时必须设置fileUpload选项:
$facebook = new Facebook(array(
/*..*/
'fileUpload' => true,
));
Run Code Online (Sandbox Code Playgroud)
当前没有使用 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 很可能永远不会支持设置标签“让用户做标记”。对于想要集成标记的应用程序(例如我的应用程序)来说,这是不幸的。