0

Facebookユーザーから友達のウォールやタイムラインに投稿するための招待状を作成しようとしています。

これは私が今持っているものです。ユーザーはマルチフレンドセレクターを介して招待状を送信するために彼の友人を選択し、彼は招待状を送信し、コールバックを介して私は招待された友人のIDを取得します。このコールバックは、ajaxを介して、この友達のウォールまたはタイムラインに情報を投稿するというアイデアのフォームを送信します。

しかし、ユーザーの友達の壁への投稿は機能しておらず、その理由はよくわかりません。これは私が今得たものです:(マルチフレンドセレクター関数は正しく機能し、フォームはユーザーIDで正常に送信されているため、表示されていません)

$ids=$_POST['ids']; //comma separated string with friend's id
$userid=$_POST['userid'];//user id
$ids=explode(',', $ids);

$facebook = new Facebook(array(
  'appId'  => 'xxx',
  'secret' => 'xxx',
));

    for($i=0;$i<count($ids);$i++){
$attachment = array(
    'message' => 'Responde encuestas en Metrik y los dos ganamos 10 puntos!',
    'name' => 'Metrik Studios Social Surveys',
    'caption' => "responde encuestas y prueba productos novedosos a través de Metrik. Acumula kiloemtros Lanpass, recibe dinero, dona a fundaciones y mucho más.",
    'link' => $canvas_page.'?ref='.$userid,
    'description' => 'Metrik Studios',
    'picture' => 'http://metrikstudios.com/fbapp/logo.jpg',

);


$result = $facebook->api('/'.$ids[$i].'/feed/', 'post', $attachment);

}
?>

その他の情報:これはfbのキャンバスアプリであり、ユーザーはアプリにpublish_stream権限を付与しました。変更した場合:$ result = $ facebook-> api('/'。$ids[$i]。'/feed /'、'post'、$ attachment); for:$ result = $ facebook-> api('/ me / feed /'、'post'、$ attachment); 投稿はユーザーフィードに作成されます

助けてくれてありがとう!

編集:わかりました、問題はアプリがサンドボックスモードであったことだと思います。そうすれば、誰もアプリの投稿を見ることができません。

実際、私はサンドボックスモードをオフに切り替えて、友達のフィードに作成された20件の投稿が好きです。これは可能ですか?私がしたように、誰かがこの愚かな状況に陥った場合にこれが役立つことを願っています

4

1 に答える 1

0

代わりに、個人の Facebook ウォールに投稿するには、この構文を使用してください。

try {
    $newStatus = $facebook->api("/$USERID/feed", 'POST',
    array(
      'link' => "https://apps.facebook.com/XXXXXXXXX",
      'picture' => "https://XXXXXXXXX", //colour
      'name' => "XXXXXXXXX",
      'description' => "XXXXXXXXX",
      'access_token' => $access_token
     ));
     //echo '<pre>Post ID: ' . $newStatus['id'] . '</pre>';
} catch(FacebookApiException $e) {
        error_log($e->getType());
        error_log($e->getMessage());
        //echo '<textarea style="width: 300px; height: 200px;">' . $e->getMessage() . '</textarea>';
}
于 2012-04-28T20:14:48.600 に答える