我已经将我的服务器设置为从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中提取他们的Feed等。
我必须在这里找到一些东西,我需要做些什么才能让它发挥作用?!
答案 0 :(得分:3)
对于那些使用PHP的人......
Facebook的实时POST数据不会通过PHP中的普通$ _POST数组进入或识别。您可以使用以下内容来获取构成请求到服务器的原始JSON:
$json = file_get_contents("php://input");
然后您可以通过以下方式将其转换为数组:
$realtime = json_decode($json, true);
但是,Facebook在这些请求中提供的数据大部分都是毫无价值的,这太糟糕了: - /
答案 1 :(得分:0)
在我的情况下,我接受了GET请求,但是没有接受回调网址上的POST请求。