我已经设置了我的服务器以接收来自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。我有几个用户通过了该应用程序的身份验证,我们都在脸书上尝试过各种方法来尝试和触发它(状态更新、帖子等)。我可以从API的正常休息中提取他们的饲料等。
我一定错过了什么,我还需要做什么才能让它发挥作用?!
对于那些使用PHP的人。。。
Facebook的实时POST数据不会通过PHP中的普通$_POST数组进入或识别。您可以使用以下内容来获取组成对服务器的请求的原始JSON:
$json = file_get_contents("php://input");
然后,您可以通过以下操作将其转换为数组:
$realtime = json_decode($json, true);
然而,Facebook在这些请求中给你的数据大多毫无价值,这太糟糕了:-/
在我的案例中,我接受GET请求,但不接受回调URL上的POST请求。