1

残念ながら、Facebook のリアルタイム APIは、アプリのユーザーの友人関係で何かが変更されたことを通知するだけです。

UserAがUserXと友達になったことを確認するにはどうすればよいですか?

現在、UserA の友人がFacebook リアルタイム API から変更通知を受け取る/UserA/friends.jsonたびに、結果全体をページングして最後に追加されたものを特定します。

これは機能しますが、計算サイクルの無駄が多いように感じます。これに対するよりエレガントなアプローチがあるかどうかを知りたいです...

4

1 に答える 1

2

それが設計された方法であり、それに対する「解決策」はありません。

これには、実際のデータ値(更新前または更新後)は含まれないことに注意してください。それらを取得するため に、通常のプライバシー制限に従って、アプリは通常どおりそれらを要求できます。いつでもアクセスできるデータについては、このコールバックの直後にそのデータを照会して、ユーザーがアプリに戻ったときに備えられるようにすることができます。

ソース: https://developers.facebook.com/docs/reference/api/realtime/

Facebookは、新しいデータを取得するための適切な権限があるかどうかを知らなくても、すべての更新を送信できるため、プライバシーの観点から非常に簡単な方法であるため、これは非常に理にかなっています.

(データベースに)有効なユーザー トークンがある場合は、 Graph API / FQL を介して更新されたフィールドを取得し、それをデータベース内のデータと比較できます。リアルタイム API を使用しないと、x 時間/日ごとにデータをプルする必要があり、これはさらにリソースの浪費になります。

有効なユーザー トークンがない場合は、ユーザーがアプリに戻ったときに Graph API / FQL を介して更新されたフィールドを取得し、それをデータベース内のデータと比較できます。リアルタイム API がないと、ユーザーが戻ってきたときに常にデータを更新/確認する必要があります。

于 2013-03-05T09:23:16.117 に答える