1

私はローカルでサイトを開発しています。そのサイトは、2つの別々のTwitterフィードに対してTwitterプロファイルウィジェットを2回使用しています。

私は今、レート制限(1時間あたり150コール)に何度か直面し、これを管理する方法を検討してきました。

私が見つけた手法の1つは、CronJobsを使用してTwitterAPI呼び出しを10分ごとにキャッシュするPHPファイルを呼び出し、サーバー上のtxtファイルに保存し、JQueryを使用して解析します。ステップ2、3、5 .. http://net.tutsplus.com/tutorials/php/how-to-create-an-advanced-twitter-widget/

私の質問は..JSONコンテンツをTwitterプロファイルウィジェットに解析するにはどうすればよいですか?

これは不可能かもしれないと思います。

以下は、Twitterフィードを表示するために使用される標準のTwitterプロファイルウィジェットコードです。

<script charset="utf-8" src="http://widgets.twimg.com/j/2/widget.js"></script>
            <script>
                new TWTR.Widget({version: 2, type: 'faves', rpp: 10, interval: 30000, title: ' ',subject: ' ', width: 210, height: 330,
                  theme: {
                    shell: {
                      background: ' ',
                      color: '#ffffff'
                    },
                    tweets: {
                      background: '#ffffff',
                      color: '#444444',
                      links: '#53cdc7'
                    }
                  },
                  features: {
                    scrollbar: true,
                    loop: false,
                    live: true,
                    behavior: 'all'
                  }
                }).render().setUser('diariesdownundr').start();

                new TWTR.Widget({version: 2,type: 'faves',rpp: 10,interval: 30000,title: ' ',subject: ' ',width: 210,height: 330,
                  theme: {
                    shell: {
                      background: ' ',
                      color: '#ffffff'
                    },
                    tweets: {
                      background: '#ffffff',
                      color: '#444444',
                      links: '#53cdc7'
                    }
                  },
                  features: {
                    scrollbar: true,
                    loop: false,
                    live: true,
                    behavior: 'all'
                  }
                }).render().setUser('diaries1').start();
            </script>
4

1 に答える 1

2

これは確かに可能です。非圧縮の widget.js をhttp://twitter.com/javascripts/widgets/widget.jsから取得し、var profileBase (行 884 あたり) を変更して、api.twitter.com の代わりにサイトのキャッシュ ファイルから読み取るようにします。現在 widgets.twimg.com から読み込んでいるものの代わりに、新しい widjet.js を読み込みます。

読み取る実際の「twitter キャッシュ」ファイルについては、cronjob を使用するのが実際にそれを行う 1 つの方法です。これを行ったとき、curl を使用して、現在の widget.js が行っていたものとまったく同じリクエストを api.twitter.com に送信しました。widget.js によって作成されたリクエストの URL 全体と、 GET パラメータ (たとえば、Firebug でこれを見ることができます) を curl に投げ (つまり、 curl_init($url) および curl_exec($url) )、curl_exec の出力をキャッシュ ファイルに書き込みました。

于 2012-07-24T03:03:14.720 に答える