2011-11-03 51 views
0

我正尝试将照片上传到特定页面,该页面正在工作,但现在我想标记当前已认证的用户,该照片中我刚上传到页面。标记上传到Facebook页面的照片中的用户

这里是我的代码,

$result = $facebook->api('/PAGE_ID/photos', 'post', array(
     'source'  => '@pic.jpeg', 
     'message'  => 'Ninja of the month!!!', 
     'access_token' => 'PAGE_TOKEN', 
     'tags'   => array(array(
           'tag_uid'=> CURRENT_USERS_UID, 
           'x'  => 0, 
           'y'  => 0 
     )) 
)); 

,当我尝试,我得到这个错误Fatal error: Uncaught OAuthException: (#322) Invalid photo tag subject thrown,我已经确定了页面,用户可以进行标记,而我有所需的权限,status_update,publish_stream,user_photos,offline_access,manage_pages

任何想法,为什么会发生这种情况,我该如何解决它?

+0

如果未捕获的异常是你唯一的问题,那么,试试把它放进''try'与catch''FacebookApiException'阻塞。 – abhinav

+0

这不会改变它不会标记任何用户的事实。 – Odyss3us

回答

1

我想你可能需要使用不同的access_token(用户的access_token)来更新标签。

这样的事情可能会奏效

$facebook->setFileUploadSupport(true); 
$args = array(
'access_token' => 'PAGE_TOKEN', 
'message' => 'MESSAGE', 
'image' => '@' . realpath($path_to_user), 
); 

$data = $facebook->api('/ALBUM_ID/photos', 'post', $args); 

$token = $facebook->getAccessToken(); 

$argstag = array('to' => 'USER_TO_TAG'); 
$argstag['x'] = 40; 
$argstag['y'] = 40; 
$argstag['access_token'] = $token; 
$datatag = $facebook->api('/' . $data['id'] . '/tags', 'post', $argstag); 
相关问题