私のアプリケーションは、利用可能なすべてのページ カテゴリをユーザーに表示する必要があるため、ユーザーはどのページをフォローおよび / または「いいね!」するかを選択できます。C# で API を使用してすべてのカテゴリを取得する方法はありますか?
また、場所やホームタウンなどとして使用される Facebook で利用可能なすべてのエリアを取得する必要があります。
私のアプリケーションは、利用可能なすべてのページ カテゴリをユーザーに表示する必要があるため、ユーザーはどのページをフォローおよび / または「いいね!」するかを選択できます。C# で API を使用してすべてのカテゴリを取得する方法はありますか?
また、場所やホームタウンなどとして使用される Facebook で利用可能なすべてのエリアを取得する必要があります。
少し調べたところ、それは不可能のようです。Facebook FQL では、ページを検索するために where 句が必要です。これは、キーワード、page_id、名前、またはユーザー名のいずれかを指定する必要があることを意味します。これらのフィールドのいずれも持っていないように見えるか、より具体的にはすべてが必要なように見えるため、これらのフィールドは重要ではありません。要約するselect categories from pages
と、有効な FQL ではありません。where 句があります。例:
select categories from pages where page_id = x
select categories from pages where keyword = x
select categories from pages where name = x
select categories from pages where username = x
これは奇妙に思えます。なぜなら、https://www.facebook.com/pagesに移動すると、サイトは確かに利用可能なページを列挙できるからです。サイトのすべてのページを列挙するだけの場合は、大規模な再帰検索に基づいて独自のカテゴリ リストを作成できます。これは頻繁に行わず、アプリケーションにローカルに保存する必要があります。
質問の 2 番目の部分に答えるために、FQL では位置データ ( https://developers.facebook.com/docs/reference/fql/location_post ) でタグ付けされた投稿を検索できますが、これは次の条件に基づいた結果のみを返します。 4 つのルール:
ここで言及している「あなた」とは、クエリの実行に使用される OAuth トークンの所有者です。where
繰り返しますが、上記と同じ句の制限により、これによって場所のリストを取得できるとは思いません。
これで、公式 Facebook API のセクションは終了です。Silamrilが提供する回答と同様に、基本的なWebページのスクレイピングに確実に頼ることができます. ただし、その検索ボックスはライブ検索オートコンプリート ボックスのように見えるため、これが場所で機能するかどうかはわかりません。つまり、何かを出すには何かを入れる必要があります。geoapi プロバイダーを参照するか、単にhttp://en.wikipedia.org/wiki/List_of_lists_of_settlements_in_the_United_Statesのようなウィキページをスクレイピングすることをお勧めします。API 形式で同じ情報を提供できる OpenStreetMap のようなマッピング情報のプロバイダーがあります。OSM wiki ( http://wiki.openstreetmap.org/wiki/Key:place ) を参照してください。
https://gist.github.com/bloudermilk/2173940のようなスクリプトですべてのページ カテゴリを取得できます。