2012-03-21 17 views
-1

私は、ユーザーのグラフAPIコンテンツを定期的にスクラップするレールアプリを構築しています。私の最初のアプローチは、オムニウスを使って認証を行い、コアラを使ってサーバー上でFacebookとやりとりすることです。私はこれを行うためにバックグラウンドプロセスを実行しなければならなかった。Facebook API:access_tokenサーバー側を取得してクライアント側で使用する方法

しかし、私は非常に高価になる可能性があり、サーバー側とクライアント側の両方で行うことを検討しています。ユーザーがサイトにいなくてもコンテンツを投入する必要があるため、少なくともサーバーサイドを行う必要がありますが、少なくともユーザーがサイトにいるときは、ポーリングクライアントのすべての側を行う方が理にかなっています。この方法では、私のサーバーは頻繁にFBサーバーを削る必要はないので、コストは低く抑えられ、FB JavaScriptファイルSDKを使用して頻繁に更新を受け取ることができるので幸せです。

私はこれが可能かどうかはわかりません。現在、私はこれを完全にサーバー側、または完全にクライアント側で行う方法を知っています。しかし、私はサーバーサイドからaccess_tokenを取得し、クライアント側でその情報を使用してクライアントがポーリングのほとんどを行う方法を知らない。あなたの助言に感謝します。

答えて

1

「ユーザーのグラフAPIコンテンツを定期的にスクラップするレールアプリを構築しています。」これだけではなく、あまりにもコストがかかるでしょう。ユーザーのGraph APIのReal-Time更新を実装し、情報を格納します。このようにすれば、何かが変わったときにすぐに通知を受けることができます。また、最後の呼び出しよりも何も返さないAPIへのポーリング呼び出しを「無駄にする」必要はありません。次に、クライアントサイドにポーラーを作成して、サーバー側のデータストアにユーザー情報をポーリングする場合は、

+0

ありがとうございました。私は実際に数時間かけて文書を読んでいましたが、これは私が学んだ新しいことの1つでした。しかしそれはまだ難しいです。この昨夜この質問をして以来、私はクライアント側のポーリングモジュールを実装することができました。うまくいきましたが、私はこれがどのように動作しているのか分かりません。(Omniauthを使用して、 – Vlad

+0

実際に私はあなたのコメントのためにありがとうが、私はまだ私の答えを持っていません。なぜこの質問がdownvotedされたのか分かりません私は今この問題に取り組んでいますが、最初に私はコアラの宝石を使ってサーバー側の擦り傷を処理していますが、クライアント側ではFacebookのjs apiを使用しています。現在FacebookにサインインしているユーザーのFacebookセッションを使用しています。つまり、サーバー側がユーザーAのコンテンツをクロールしている可能性があります。クライアント側が現在コンピュータを使用しているユーザーをクロールしている可能性があります。 – Vlad

+0

As私は私の元の答えで指摘した、掻き回しはこれを行う方法ではありません。 Graph APIのReal-Time Updatesメカニズムを使用して、即時更新を取得します。 – DMCS

関連する問題