2

新しいFacebookグラフAPIを使用するようにiPhoneアプリをアップグレードしようとしています。私が見つけられないことの1つは、私のアプリからFacebookに接続している現在のユーザーが私のFacebookページのファンであるかどうかを確認する方法です-(つまり、新しいパラダイムでは-ユーザーが私のページを気に入っているかどうか)

Rest Apiには関数isFanがありましたが、グラフにはありませんでした。

ユーザーが気に入ったすべてのアイテムを取得して、そのうちの1つが私のページかどうかを検索できますが、彼がファンかどうかを確認するたびに何千ものレコードを調べるよりも、もっと簡単な方法があるはずですよね?

誰かが新しいドキュメントからそれを行う方法をすでに理解している場合は、それを私と共有していただければ幸いです。

4

5 に答える 5

6

Facebook Dev docsによると、古いpages.isFanメソッドは現在、Graph API に同等のものがあります。

注意: 現在、REST API の廃止を進めており、このメソッドの Graph API に同等のサポートを追加しました。/USER_ID/likes/PAGE_ID に HTTP GET リクエストを発行して、ユーザーがファンのページであるかどうかを確認できるようになりました。

このように、/{USER ID}/likes/{PAGE ID} への呼び出しは、正しい ( user_likes)パーミッションを持っているか、ユーザーのいいね! が公開されている場合に必要な情報を返します。

于 2011-01-10T22:54:44.940 に答える
0

あなたが探しているのは接続テーブルです。これを試して:

SELECT target_id, target_type
FROM connection
WHERE source_id = '_THE_USERS_FACEBOOK_ID_'
  AND target_id = '_THE_ID_OF_THE_PAGE_OR_OBJECT_TO_LIKE_'

これは、FB.api JavaScript メソッドから、または任意のバックエンド SDK を介して実行できる FQL ステートメントです。

于 2011-11-09T21:10:42.680 に答える
0

PhoneGap のプラグインを使用すると、次のことができます。

pageID = '6815841748';
FB.api('/me', function (a) {
   user_id = a.id;
   FB.api('/' + user_id + '/likes/'+pageID, function (a) {
        alert(a.data.length);
    })
});

指定されたページ ID が気に入った場合は 1 を返し、そうでない場合は 0 を返します。

おそらくよりクリーンな方法を発見しました(ただし、テストしていません):

window.checkDoesLike = function() {
  FB.api({ method: 'pages.isFan', page_id: '6815841748' }, function(resp) {
    if (resp) {
      alert('You like.');
    } else {
     alert("You don't like.");
    }
  });
};
于 2012-07-04T14:49:32.443 に答える
0

ページが Facebook によって呼び出されたときに $_POST 変数を解析する場合の最も迅速でシンプルなソリューションです。signed_request には、ユーザーがあなたのページを好きかどうか、アプリへのアクセス権を (まだ) 与えていない場合でも、(同様に) 情報が含まれています。

于 2011-11-09T22:56:19.843 に答える
-2

現在、'//likes' グラフ リソースのみが利用可能です。とはいえ、それほど悪くはありません。

https://graph.facebook.com/ngerakines/likes?access_token=
于 2010-05-14T00:11:17.240 に答える