1

私は 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')             
                ));                                     
            }

しかし、代わりにこれをニュース フィードに投稿できればと思います。

4

0 に答える 0