PHP Facebook标记应用程序中的用户照片

PHP Facebook标记应用程序中的用户照片,php,facebook-graph-api,facebook-php-sdk,facebook-apps,Php,Facebook Graph Api,Facebook Php Sdk,Facebook Apps,我正在尝试在应用程序创建的照片中标记我的facebook应用程序用户。但这给了我错误 $args = array( 'message' => $fbme['name'].' will have a love marriage.', 'image' => '@' . realpath('./images/wall-e-and-eva1.jpg'), 'tags' => array( array(

我正在尝试在应用程序创建的照片中标记我的facebook应用程序用户。但这给了我错误

$args = array(
   'message' => $fbme['name'].' will have a love marriage.',
   'image'   => '@' . realpath('./images/wall-e-and-eva1.jpg'),
   'tags'    => array(
                   array(
                       'tag_uid'=> $uid,
                       'x'      => 0,
                       'y'      => 0,
                   )
                )
);

$data = $facebook->api('/'.$uid.'/photos', 'post', $args);
在哪里

$uid =$facebook->getUser();
我得到下面的错误。我不明白照片是如何创建并上传到用户配置文件的,但用户名没有标记到它

错误:-致命错误:未捕获OAutheException:(#121)在第543行的/home/a2611469/public_html/myweb/src/facebook.php中抛出无效的照片id


提前谢谢

我想你应该把照片标签贴到“/$photo\u id/tags/$user\u id”上,而不是贴到/$uid/photos上,这是你的做法。在上传实际照片之后,您可能必须为每个标记执行一个单独的API请求


请参见

只是一个问题-您是否已在facebook php sdk中启用了
$setFileUploadSupport
?@Lix我有{include_once“src/facebook.php”;$app_id='xxxxxxxxxxxxx';$application_secret='xxxxxxxxxxxxxxxxxxxxx';$facebook=new facebook(数组)('appId'=>$app\u id,'fileUpload'=>true,'secret'=>$application\u secret,'cookie'=>true,//启用可选cookie支持));}fileupload=在每个页面上都是true。对吗?当你想要上传一张图片时,你必须设置该值。你能上传没有标签的图片吗?Lix,即使我使用$facebook->setFileUploadSupport(true);标记不起作用。是的,我可以在没有标记的情况下上载图片。我在$data api调用后立即将这两行代码添加到上述代码中。仍然不起作用。请帮助。谢谢。在不使用“标记”子数组的情况下将图像发布到Facebook。检查$data['id']获取上传照片的id。然后用以下方式标记照片:
$response=$facebook->api(“/$photo\u id/tags/$person\u id“,“POST”,数组('x'=>$x-coord,'y'=>$y-coord,);
谢谢@Janek对我的帮助。+1