22

我已经设置了我的服务器以接收来自 facebook 的实时更新,我已经完成了身份验证以获取令牌等,注册了回调 url ......并且自身份验证 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 中提取他们的提要等。

这里一定有一些我只是想念的东西,我还需要做什么才能让它工作?!

4

2 回答 2

3

对于那些使用 PHP...

Facebook 的实时 POST 数据不会通过 PHP 中的普通 $_POST 数组传入或识别。您可以使用以下内容获取构成对服务器的请求的原始 JSON:

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

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

$realtime = json_decode($json, true);

然而,太糟糕了,Facebook 在这些请求中为您提供的数据大多一文不值:-/

于 2012-12-09T07:51:30.390 回答
0

就我而言,我接受了 GET 请求,但不接受回调 URL 上的 POST 请求。

于 2014-06-04T18:49:52.733 回答