将照片中的用户标记为上传到Facebook页面

时间:2011-11-03 10:23:29

标签: php facebook facebook-graph-api

我正在尝试将照片上传到特定页面,但是现在我想在我刚刚上传到该页面的照片中标记当前经过身份验证的用户。

这是我的代码,

$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

知道为什么会发生这种情况以及如何解决这个问题?

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

我认为这可能是一个错误,我想我们可能遇到同样的问题:

http://facebook.stackoverflow.com/questions/8425605/cant-tag-users-on-facebook-page-php-sdk-graph-api

这是指向将此问题作为错误发布到Facebook的人的链接。我不知道是否有人正在研究这个问题但是请加上你的投票来修复它并留下评论。我相信很多人都会喜欢这个功能!

http://bugs.developers.facebook.net/show_bug.cgi?id=17947