无法将用户标记为通过图形API上传的fb照片

时间:2013-03-06 16:58:18

标签: php facebook facebook-graph-api facebook-php-sdk

我只是测试一些东西,并通过脚本找不到工作。它实际上传了一张照片,然后使用它的pic id来标记好友列表中的一些随机人物。我的应用拥有user_photos,publish_stream权限。我可以成功上传照片,但我在制作标签时遇到错误。

这是代码:

    $f1 = $facebook->api('me/friends?limit=19');

$img = $_REQUEST['imgl'];
$access_token = $facebook->getAccessToken();

$args = array(      
    'message' => $_REQUEST['m_Config']['appTitle'], 
    'source' => '@' . $img,
    'access_token' => $access_token, 
);
$photo = $facebook->api ( $user . '/photos', 'post', $args );   
foreach($f1['data'] as $fbu){
    $tagx = array('tag_uid' => $fbu['id'],'x' => rand(100,350),'y' => rand(100,350));
    $ftags[] = $tagx;
}

$args = array (
    'tags' => json_encode($ftags),
    'access_token' => $access_token,
);

$result = $facebook->api('/' . $photo['id'] . '/tags', 'post', $args);
print_r($result);

现在错误,我得到的是Fatal error: Uncaught OAuthException: (#100) Invalid parameter thrown in C:\xampp\htdocs\fb\base_facebook.php on line 1254

我的问题是,我的代码错了。为什么我收到错误,我也尝试过搜索,但无法修复。

由于

1 个答案:

答案 0 :(得分:0)

您似乎在随机位置为随机朋友分配标签,这是完全错误的。 用户应该选择他们的朋友在照片中的位置 - 其他任何违反政策的内容,可能会被关闭为垃圾邮件

至于您的代码问题,这不起作用,因为tag_uid不是API中列出的参数名称 - 用于指定要标记的用户的参数是to

有关详细信息和一些示例代码,请参阅Photo object's Tag connection文档。