0

https://developers.facebook.com/docs/payments/payer_promotion/#user_eligibilityのFacebookの新しい支払人プロモーション仕様で は、ユーザーが適格である場合は1を返し、そうでない場合は何も返さないとしています。

しかし、PHPのこのコード:

$fbdata = $facebook->api('/me?fields=id,locale,third_party_id,is_eligible_promo');

is_eligible_promo=>'1'を返します;

しかし、グラフAPIエクスプローラーまたはJavaScriptでそのクエリを使用すると、次のようになります。

FB.api('/me?fields=id,locale,third_party_id,is_eligible_promo', function(response) {});

is_eligible_promoフィールドは返されません。

また、この支払いポップアップを呼び出す:

var obj = {
    method: 'fbpromotion',
    display: 'popup',
    package_name: 'zero_promo',
    product: '---my-open-graph-currency---'
};
FB.ui(obj, function() {});

、「申し訳ありませんが、プロモーションは現在利用できません。」のようなものが返されます。

4

2 に答える 2

0

しかし、Graph APIエクスプローラーで、またはJavaScript […]でそのクエリを使用すると、is_eligible_promoフィールドが返されません。

これはaccess_tokenの問題だと思います。プレーヤーがプロモーションの対象となるかどうかは、個々のアプリによって異なります。

グラフAPIエクスプローラー(右上のドロップダウン)で独自のアプリを選択してみて、PHPスクリプト内と同じ結果が得られるかどうかを確認してください。

于 2012-09-24T11:42:06.287 に答える
0

user_is_eligibleはユーザーリクエストのIPに依存することを解決しました。

私のサーバーは国Aにあるので、そのサーバーからfacebookへのphpリクエストは、そのユーザーが適格であることを返しました。しかし、私がjavascriptで同じパラメータを要求すると(私は国Bにいます)、Facebookはユーザーが資格がないと言います。

ユーザーの場所に依存するため、すべてのチェックをjavascriptに移動することでこれを修正しました。

于 2012-10-01T12:57:10.867 に答える