0

写真をアップロードしてユーザーにタグを付ける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);

この問題で私を助けてください。

4

2 に答える 2

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であり、同じエラーが発生します。

それが役に立てば幸い ;)

于 2013-04-22T08:13:30.520 に答える
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);
于 2013-04-21T23:10:16.323 に答える