我试过:
$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
有人可以向我确认无法在最近上传的照片中标记用户吗?
最佳答案
使用 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'] 是上传照片的id。
注意事项: 1. 初始化 Facebook 对象时必须设置 fileUpload 选项:
$facebook = new Facebook(array(
/*..*/
'fileUpload' => true,
));
关于php - 如何使用 Facebook Graph API 在照片中标记用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3017861/