1

ファンページが気に入った場合にのみユーザーが使用できるようにする Facebook アプリケーション (php で作成) を開発しました。

アプリケーションへのアクセスがブロックされているというフィードバックをユーザーから受け取った今日まで、すべてがうまく機能していました。

彼らはファンページが気に入らなかったので、アプリケーションは彼らを入れないように見えますが、重要なのは、それらのユーザーがすでにそのファンページを気に入っているということです (私は何度もテストしました)。

次のような標準のグラフリクエストでユーザーがファンページを気に入っているかどうかを確認しています/USER_ID/likes?target_id=PAGE_ID

これは、ユーザーがそのページを気に入った場合は配列を返し、そうでない場合は空の配列を返します。私の場合、それらのユーザーの場合、常に空の配列でした。

私もチェック/USER_ID/likesしました-ユーザーのすべてのいいねのリスト、および通常のユーザーの場合、好きなページのjson配列で応答を受け取りました。「バグのある」ユーザーの場合、空の配列を再度取得しました。

私はphpsdkでPHPを使用しているので、すべてのリクエストは$facebook->api(...)

現在、その問題を抱えているユーザーが2人ほどいますが、他のユーザーは問題ありません。

何か間違ったことをしているのか、Facebookのバグなのかはわかりません。

Facebook api を使用した経験のある方のご意見をお待ちしております。

前もって感謝します。

4

1 に答える 1

0

問題は、ユーザーがアプリにユーザー情報へのアクセスを許可していないことが原因である可能性があります。Facebook API からの署名付きリクエストを使用して、ユーザーがページを気に入ったかどうかを確認できます。これにより、信頼性が大幅に向上します。

require 'facebook.php';
$app_id = "app_id";
$app_secret = "app_secret";
$facebook = new Facebook(array(
    'appId' => $app_id,
    'secret' => $app_secret,
    'cookie' => true
));
$signed_request = $facebook->getSignedRequest();
if($signed_request["page"]["liked"] != 1) { 
    // Render the blocker page
}else{
    // Business as usual
}
于 2013-07-01T16:34:17.780 に答える