0

https://developers.facebook.com/docs/payments/payer_promotion/#user_eligibility上的 Facebook 新付款人促销规范 表示,如果用户符合条件,它将返回 1,否则将返回 1。

但是,PHP中的这段代码:

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

返回 is_eligible_promo => '1';

但是当我在 Graph API explorer 或 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

它解决了user_is_eligible 取决于用户请求的 IP

由于我的服务器位于 A 国,因此从该服务器到 facebook 的 php 请求返回该用户是合格的。但是当我使用 javascript 请求相同的参数时(我在 B 国),facebook 说该用户不符合条件。

通过将所有检查移至 javascript 来解决此问题,因为它取决于用户位置。

于 2012-10-01T12:57:10.867 回答
0

但是当我在 Graph API explorer 或 JavaScript […] 上使用该查询时,它不会返回 is_eligible_promo 字段。

我认为这是一个 access_token 问题——玩家是否有资格获得晋升取决于个人应用程序,我猜。

尝试在 Graph API 资源管理器(右上角的下拉菜单)中选择您自己的应用程序,然后查看您是否获得与在 PHP 脚本中相同的结果。

于 2012-09-24T11:42:06.287 回答