2011-07-28 3 views
1

現在のユーザーが自分のアプリを「好き」になっているかどうかを数時間確認しようとしています。 ログイン時に「user_likes」権限が必要ですが、好きなボタンをクリックしてもisFanやFQLでアプリが好きかどうかを確認すると、まだ0が好きです。facebookアプリのようなユーザーを検出する場合

これは、私は、ユーザーがアプリ「気に入った」場合には取得しようとしている方法です:

$isFan = $facebook->api(array(
    "method" => "pages.isFan", 
    "page_id" => xxxxx, 
    "uid"  => $session 
)); 

if($isFan === TRUE) 
    echo "I'm a fan!"; 

OR

$likes = $facebook->api(array(
    'method' => 'fql.query', 
    'query' => "SELECT uid FROM page_fan WHERE page_id='xxxxx' AND uid='$session'", 
)); 

print 'likes found: ' . count($likes) . '<br />'; 

両方の方法は私に何も与えない、いくつかのいずれかが私を助けることができるしてください場合それは素晴らしいだろう!

ありがとうございます! Moti

+0

でツールを試してみてください。あなたは$ sessionを設定してください。 – squinlan

+0

これはセッションを設定する方法です:$ session = $ facebook-> getUser(); – user310707

+0

あなたはFacebookのドキュメントでこれを手動でテストしようとしましたか?[ここ](https://developers.facebook.com/docs/reference/rest/pages.isFan/) – squinlan

答えて

5

アプリIDの代わりにページIDを使用します。あなたのページがFacebookページかどうか分かりません(facebook.com/pages/ [PAGE_NAME]/[PAGE_ID])、Facebook以外のページがある場合はわかりません。

明らかにFacebookページをお持ちの場合は、URLの末尾にある番号がページIDになります。 Facebook以外のページがある場合は、グラフを使用してページIDを取得できます。

https://graph.facebook.com/?id=[PAGE_URL]

は、アプリケーションIDの代わりにそのIDを使用し、それはあなたに正しい結果を与える必要があります。 Facebook docs

+0

私のアプリケーションはhttp://apps.facebook.com/MY_APPLICATION_NAMEのようになり、ページIDは提供されません。 – user310707

+0

好きなボタンはどこに置いたのですか?それはIDが必要なページです。 – squinlan

+0

私はindex.phpのページに入れました..しかし、私はまだページの名前が表示されません.. apps.face ....だけ私のアプリケーションを与えた名前と – user310707

2

あなたのページは一般公開されていますか? squinlanによって、コメントに掲載のリンクから:ユーザーのページが誰のプライバシー未満に設定されている場合

、あなたはuser_likes延長許可をユーザーに尋ねると、API呼び出しで有効なユーザーのアクセストークンを含める必要があります。

したがって、承認プロセスをdocumented hereとすると、最終的にアクセストークンが発行されます。あなたは、あなたが適切なアクセス許可が付与されていることを確認するために行ったすべての要求にそれを追加します。

$isFan = $facebook->api(array(
    "method"  => "pages.isFan", 
    "page_id"  => xxxxx, 
    "uid"   => $session, 
    "access_token" => $access_token 
)); 
+0

の「user_likes」権限を求めました。私は:hasAppPermissionメソッドでそれをチェックして、それは私に "true"なので、そこに問題はありません/ – user310707

+0

あなたはあなたの許可を持っていますが、あなたのリクエストと一緒にアクセストークンを送りますか? – shanethehat

+0

いいえ...私もそれを理解しています..私はそれをどのように送っていますか?私に例を挙げてくれますか? – user310707

関連する問題