我正在创建上传照片和标签用户的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);
请帮我解决这个问题。
答案 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]],这给了我同样的错误。
希望它有所帮助;)