4

私は OpenGraph を使用して、ユーザーがコンサートのレビューを書くことを許可する Facebook アプリを構築したのでconcert_id、ユーザーがレビューを挿入できる属性を定義しました。

今、私は特定のものに挿入されたすべてのレビューを表示したいのですがconcert_id、方法が見つかりません。もしそうなら(JSで)

FB.api('/me/MY_APP:action', { limit: 0}, function(response) {
    console.log(response);
});

すべてのアイテムを取得します。このアプリはモバイルで消費する必要があります。すべてのアイテムを取得してから、必要なものだけをフィルタリングするのは良くないと思いますconcert_idwhereカスタム アクションに OpenGraph の条件を適用するにはどうすればよいですか?

4

5 に答える 5

5

API と Facebook 開発者ページからわかる限り、パブリック Open Graph API を使用してカスタム アクション プロパティで呼び出しをフィルター処理することはできません。

私が考えることができる2つのオプション:

オプション1:

カスタム カテゴリ オブジェクトを作成してカテゴリ フィルタを実装します。

「レビュー」がカスタム アクションであり、

GET https://graph.facebook.com/me/[name_space]:review

すべてのレビュー アクションを返す

GET https://graph.facebook.com/me/[name_space]:review/scifi_movie
GET https://graph.facebook.com/me/[name_space]:review/action_movie

scifi_movie と action_movie がカスタム オブジェクトであるムービー タイプに固有のアクションを返します。カテゴリごとに 1 つのオブジェクト タイプを作成する必要があります。

オプション 2:

カテゴリごとにカスタム アクションを実装します。

review_scifi_movie
review_action_movie 

これらは特に洗練されたソリューションではありませんが、他に何も機能せず、クライアント側でフィルタリングを行いたくない場合のハックとしておそらく役立ちます。

于 2012-04-23T14:24:17.527 に答える
2

JavaScript や OpenGraph がよくわかりません。

しかし、JAVA で任意のユーザーが作成したレビューを取得する必要がある場合、そのためにFQLを使用しました。すべてのレビューを取得し、FQL は Facebook に関連するすべてのテーブルを取得するためにも使用されました。

于 2012-04-28T09:56:26.223 に答える
2

Facebook API は、特定のアクションに対して公開された個々のオブジェクトを返しませんが、それだけの問題ではありません。一見すると、コンサートに寄せられたすべてのレビューを取り込もうとしているのですね。(他のユーザーによるものも意味します)。

Facebook API 呼び出しの「/me/」部分は、現在ログインしているユーザーによって行われた公開されたアクションのみを返します。すべてのユーザーのアクションが必要なため、これは機能しません。

私ができる唯一の提案は、さまざまなコンサートに対して与えられたすべてのレビューを保存する単純な Web サービスを作成することです。このサービスを使用して、特定のコンサートに寄せられたレビューを取り込みます。(私は自分のアプリのレビューに同様の方法を使用しています)。

于 2012-04-28T10:14:45.887 に答える
1

JSSDKでそれを実現できるとは思いません。

ただし、サーバーでこれを行うことができます。これはモバイルアプリである(またはモバイルバージョンがある)ため、これをクライアントの責任から除外するもう1つの理由があります。

サーバー側では、投稿時に公開されたアクションをFacebookに要求し、それらをフィルタリングしてから、応答を返すことができます。あなたができるもう一つのことはあなたのデータベースに公開された各アクションを保存することです(各アクション投稿であなたはFacebookからIDを取り戻す必要があります、それを永続化するだけです)そしてあなたはあなたが望むどんな基準に従っても公開されたアクションを簡単にフィルタリングできます/必要があります(Facebook APIによって制限されなくなったため)。

オープングラフのものはまだかなり新しく、成熟していません。たとえば、FQLを使用することはできません。これは、あなたの場合に便利だったかもしれません。とにかく、モバイルに関してはサーバーソリューションが計算に最適だと思います。

于 2012-04-29T07:49:36.053 に答える
0

正確にはわかりませんが、これを試してください

if (session.authResponse) {

    FB.api('/me', {
     fields: 'name, picture' // here mention your fields
    },
    function(response) {
      if (!response.error) {

// ここに応答値 });

于 2014-03-03T07:39:01.237 に答える