-1

友人の壁のリンクとメッセージに正常に投稿するスクリプトがありますが、次のようにループをオンにすると:

for ($i = $from; $i <= $to; $i++) {
        $sendTo = $userid[$i];

        echo '<p>sending user '.$i.'</p>';

        if($result = $facebook->api("/$sendTo/feed/",'post', $attachment))                        

                    {
            echo '<p>sended user '.$i.'</p>';
        } else {
            echo 'Oops something went wrong';
        }}           

4 つまたは 5 つのメッセージを投稿するだけで中断します。問題は、Facebook で多くのメッセージを短時間で送信できないことにあると思います。少なくとも 100 件のメッセージを投稿するためのタイムアウト機能または何かを作成するにはどうすればよいですか? メッセージを 5 つだけ投稿すると、5 つずつ 100 のメッセージを投稿できますが、100 ごとに 100 を投稿する必要があります。

お時間をいただきありがとうございます。

4

1 に答える 1

1

このように複数のユーザーのウォールに投稿することは、Facebook では推奨されていません。複数のユーザーにメッセージを送信する場合は、リクエスト ダイアログを使用することをお勧めします。

リクエストの送信を遅らせるには、sleep(300)5 つの投稿ごとにコマンドを追加して、投稿間に 5 分の遅延を与えることができます。スクリプトのタイムアウトで問題が発生します。一度に 5 つのアイテムを投稿し、5 分ごとにのみ実行する cron ジョブをスクリプトで作成することをお勧めします。

これらの方法のいずれかを使用すると、ユーザーにスパムが送信され、アプリが無効になるリスクがあります。詳細については、このFacebook 開発者のブログ投稿を参照してください。

于 2012-10-26T15:47:50.307 に答える