获取错误参数标签必须是一个数组,同时标记Facebook用户

时间:2012-04-20 06:59:58

标签: facebook

我正在创建上传照片和标签用户的Facebook应用程序(php sdk)。但我得到一个奇怪的下面错误

   Uncaught OAuthException: (#100) param tags must be an array. 

我使用了以下代码

$argstag = array('to' => $user);  
$argstag['x'] = 40;  
$argstag['y'] = 40; 
$data = json_encode($argstag); 
$attachment = array( 

            'message' => $mes,
'tags' => $data
          );
$facebook->setFileUploadSupport(true);
$attachment['image'] ='@'.realpath($filename);
$photo = $facebook->api('/'.$aid.'/photos', 'POST', $attachment);

请帮我解决这个问题。

2 个答案:

答案 0 :(得分:0)

尝试更改

$argstag = array('to' => $user);  

$argstag = array('tag_uid' => $user); 

编辑:

如果不起作用,请尝试更改

$argstag = array('to' => $user);  
$argstag['x'] = 40;  
$argstag['y'] = 40; 
$data = json_encode($argstag); 

 $armstag = array();
 $armstag['tag_uid'] = $user;
 $armstag['x'] = 40;
 $armstag['y'] = 40;
  $data = json_encode($argstag);

答案 1 :(得分:0)

您是否尝试过打印$ argstag?它将显示您使用json编码的数组,它看起来可能是[[x:something],[y:something]]等。使用str_replace来替换那些不需要的元素。以下是我在邀请用户时使用的内容:

$torep=array("[","]",'"');//replace some chars. generetaded by json
$users=str_replace($torep,"", $encode);

输出是:UID,UID,UID,UID正在工作而不是[[UID],[UID],[UID]],这给了我同样的错误。

希望它有所帮助;)