2011-11-18 87 views
3

我想标记我的facebook应用程序用户在应用程序创建的照片。但它给我错误。PHP 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(); 

我收到以下错误。我不明白如何创建照片并将其上传到用户个人资料,但用户名未被标记。

ERROR:- Fatal error: Uncaught OAuthException: (#121) Invalid photo id thrown in /home/a2611469/public_html/myweb/src/facebook.php on line 543

在此先感谢

+0

只是一个问题 - 你启用了'$ setFileUploadSupport'到真正在你的Facebook的PHP SDK? – Lix

+0

@Lix我有{include_once“src/facebook.php”; $ app_id ='XXXXXXXXXXXXXX'; $ application_secret ='XXXXXXXXXXXXXXXXXXX'; $ Facebook的=新的Facebook(阵列( 'APPID'=> $ APP_ID, '文件上传'=>真实, '秘密'=> $ application_secret, '饼干'=>真,//启用可选cookie支持 ));} fileupload = true在每个页面上。这样对吗? –

+0

当你想要上传图片时,你必须设置该值。你可以上传带有标签的图片吗? – Lix

回答

1

我想你应该POST照片标签 “/ $ photo_id /标签/ $ user_ID的”,而不是/ $ UID /照片是你的方式做到这一点。上传实际照片后,您可能必须为每个标记执行一次单独的API请求。

http://developers.facebook.com/docs/reference/api/photo/

+0

在$ data api调用之后,我将这两行添加到上面的代码中。还是行不通。请帮忙。谢谢。 –

+4

将图像发布到Facebook而不使用“标签”子阵列。检查$ data ['id']以获取上传照片的ID。 然后标记的照片是这样的: '$响应= $ facebook-> API( “/ $ photo_id /标签/ $为person_id”, 'POST', 阵列( '×'=> $ x轴coord, 'y'=> $ y-coord, ) );' – Janek

+0

谢谢@ Janek帮助了我。为你+1 –

相关问题