0

ユーザーがページを気に入ったかどうかを知りたいだけで、次のコードは次のとおりです。

    function checkPageLike($fbuid,$token){
    $fqlquery = "SELECT uid FROM page_fan WHERE page_id = ".$this->config->item('pageId')." and uid=".$fbuid;
    $res = "0";
    try{

        $ret_obj = $this->facebook->api(array('method' => 'fql.query',
                'query' => $fqlquery,
        ),'get',array('access_token' => $token));
        if(checkArray($ret_obj ) && $ret_obj [0]['uid']){
            $res = "1";
        }
    }catch(Exception $e){
        print_r($e);
    }
    return $res;

}

したがって、このコードを使用することで、ページがこのユーザーに気に入られているかどうかを確認できます。そしてそれは働いています。しかし、QA の 1 人が最初に許可を与えなかった可能性があります。上記のコードは、ユーザーがページを気に入ったかどうかを取得できませんでした。このユーザーはアプリを削除しました。その後、再度インストールしましたが、同じ問題が発生しました。彼は別のマシンからログインしましたが、それでも上記のコードは、そのユーザーがページを気に入ったかどうかを取得できません。なぜそのような問題が発生したのか知りたいですか?アプリの権限の問題ですか?ユーザー設定?または、ユーザーがページを気に入ったかどうかを確認するために間違った方法を使用していますか? そのユーザーがそのページを気に入ったかどうかを fql が判断できないのはなぜですか?私たちのページがそのユーザーのファンページにあるかどうかは? 他のユーザーには問題なく機能しています。

よろしくお願いします。

4

2 に答える 2

1

ここに私のメモがあります:

  1. likesfql の代わりにGraph API ユーザー接続を使用する必要があります。/PROFILE_ID/likes/PAGE_ID
  2. user_likes許可があることを確認してください
  3. 上記については、この回答を確認してください
  4. ファンゲートを構築しようとしている場合は、ページタブに到達したときにFacebookがユーザーの「ファン」ステータスを送信するため、ユーザー認証は必要ありません. こちらをご覧ください
于 2012-07-02T09:59:32.103 に答える
0

$fbuid$tokenが有効な値を取得していることを確認してください。$this->config->item('pageId')また、チェック対象の正しい pageId が に含まれているかどうかを知る必要があります。質問を編集して、その中に含まれる値とその取得方法を含めることができます。

ここで同様の例に従うことができます。

https://stackoverflow.com/a/10863558/1105497

于 2012-07-02T02:52:44.977 に答える