私は Facebook アプリを構築している最中です。アプリで事前定義されたメッセージを次のように公開したいと考えています。
1) ユーザーのニュース フィード (つまり、アプリを使用したすべてのユーザー)
2) 可能であれば、ユーザーの友人のニュース フィードまたはそのウォールにも。
現時点では、次のコードを使用して、ユーザーのウォールに投稿するだけです。
if(isset($_POST['mapp_message'])){
try {
$facebook->api('/me/feed', 'POST', array(
'access_token' => $facebook->getAccessToken(),
'message' => $_POST['mapp_message'],
'name' => "This is the title of my post",
'description' => "This is the body of the post with lots of text in it",
'link' => 'http://www.mysite.com',
'picture'=>"http://lipsum.com/images/lipsum07.gif",
'privacy' => array('value' => 'EVERYONE')
));
$sent = true;
} catch (FacebookApiException $e) {
//do something about it
}
}
注: ユーザー ウォールとニュース フィードの違いであることがわかりました。
これを数時間グーグルで調べましたが、わかりませんでした。だからどんな助けも感謝します。
よろしく
アップデート
わかりました、私は少し進歩しました。ユーザーの友達の壁 (つまり、アプリを使用した人の友達) に投稿することができました。コードは次のとおりです。
try {
$userData = $facebook->api('/me');
} catch (FacebookApiException $e) {
//do something about it
}
try {
$friendsTmp = $facebook->api('/' . $userData['id'] . '/friends');
shuffle($friendsTmp['data']);
array_splice($friendsTmp['data'], 5);
$friends = $friendsTmp['data'];
} catch (FacebookApiException $e) {
//do something about it
}
このコードは、アプリを使用したユーザーの 5 人の友人をランダムに選択し、そのウォールに投稿するコードは次のとおりです。
foreach($friends as $k => $i){
$facebook->api('/'.$i['id'].'/feed', 'POST', array(
'access_token' => $facebook->getAccessToken(),
'message' => $_POST['mapp_message'],
'name' => "This is the title of my post",
'description' => "This is the body of the post with lots of text in it",
'link' => 'http://www.mysite.com',
'picture'=>"http://lipsum.com/images/lipsum07.gif"
//'privacy' => array('value' => 'EVERYONE')
));
}
しかし、代わりにこれをニュース フィードに投稿できればと思います。