0

オブジェクトにアクションを投稿する次の呼び出しを考えると、ユーザーがそのオブジェクトに対してアクションを実行したかどうかを判断するためのコードは何ですか?「post」を「get」に切り替えると、(現在のobjだけでなく)すべてのユーザーのアクションがプルされ、最初の引数をオブジェクトのURLに置き換えるとエラーがスローされます。

  • 明確化:ユーザーが昨日アクションを実行したのか、それとも以前にアクションを実行したのかを知りたい。現在の通話が成功したかどうかではありません。

            FB.api('/me/namespace:action', 'post', likeOpts, 
            function(response) {
                if (!response || response.error) {
                    console.log(response.error);
                } else {
                    // success
                }
            });
    
4

3 に答える 3

0

これを達成するためのそのような呼び出しはありません。

前のアクションをデータベースに保存する(またはユーザーがすでにアクションを実行したブール値を保存する)か、/ me / namespace:actionのgetresponse内の最後の前のアクションを確認する必要があります。その応答内から、現在のオブジェクトのURLをフィルタリングできます。

読み取りアクションの場合、ユーザーにアクションを2回呼び出させると、エラーが発生します。

アクションがアクションインスタンスIDを返す場合、呼び出しは成功し、それを保存します。

FB.api(
'/me/namespace:action',
'post',
{ OBJECT_TYPE: 'OBJECT_URL' },
function(response) {
   if (!response || response.error) {
      alert('Error occured');
      console.log(response.error);
   } else {
      alert('Code was successful! Action ID: ' + response.id);
   }
});
于 2012-07-10T06:09:15.330 に答える
0

意図した質問の範囲が変更されたため、この回答は 100% 直接的なものではありませんが、最終的に使用したものであり、将来の視聴者に役立つと思います.

特定のユーザーが特定のオブジェクトを気に入ったかどうかを調べるために、js sdk を介して次の FQL クエリを使用します。持っている場合は、ID を含む配列を返します。そうでない場合は、空の配列が返されます。

        FB.api({
            method: 'fql.query',
            query: 'select user_id from like where user_id=' + UserIDVar + ' and object_id=' + ActionIDVar,
            return_ssl_resources: 1
        }, function(response){
            console.log(response);
        });

FQL クエリはニーズに合わせて変更できます。ドキュメントは https://developers.facebook.com/docs/reference/fql/like/で参照できます。

于 2012-08-02T01:43:18.130 に答える
0

フィードに表示されるはずです。アプリを使用するためのアクセス トークンが提供されているかどうか、ユーザーのフィードを確認できます。ちょうどそれをテストするために開いたグラフでテストを行いましたが、それは私だったので、自分のフィードを確認できました。別のユーザーの場合、有効期限が切れる前にアクセス トークンを取得し、FB グラフ エクスプローラー ツールに入力する必要があります。

于 2012-07-12T01:57:31.930 に答える