根本没有收到来自Facebook的实时更新

2022-08-30 19:21:02

我已经设置了我的服务器来接收来自Facebook的实时更新,我已经通过身份验证来获取令牌等,注册了回调网址...自从身份验证GET请求以来,我没有收到任何通知。

当我收到...GET graph.facebook.com/APP-ID/subscriptions

data: [
{
  object: "user",
  callback_url: "REDACTED-VAID-URL",
  fields: [
    "activities",
    "books",
    "checkins",
    "events",
    "feed",
    "friends",
    "interests",
    "likes",
    "location",
    "movies",
    "music",
    "television"
  ],
  active: true
}
]

因此,据我所知,实时通知设置正确。当我将自己的POST发送到回调URL时,服务器每次都会通过电子邮件向我发送POST详细信息,但我从未在Facebook更新后收到过此邮件,所以我非常确定它只是没有点击URL。我有几个用户使用该应用程序进行身份验证,我们都在Facebook上尝试了各种方法来尝试并触发它(状态更新,发布等)。我可以从正常的休息API中提取他们的提要等。

这里一定缺少一些东西,我还需要做些什么才能让它工作?!


答案 1

对于那些使用PHP的人...

Facebook的实时POST数据不会进入或通过PHP中正常的_POST数组识别。您可以使用以下内容来获取向服务器发出请求的原始 JSON:

$json = file_get_contents("php://input");

然后,您只需通过以下方式将其转换为数组:

$realtime = json_decode($json, true);

然而,太糟糕了,Facebook在这些请求中给你的数据大多毫无价值:-/


答案 2

在我的情况下,我接受GET请求,但不接受回调URL上的POST请求。


推荐