2012-11-19 28 views
0

我正在尝试使用其实时更新API从Facebook接收实时更新。我只是试图获取用户Feed的更新。我使用PHP来完成所有这些。我已将其设置并验证过,但在将它发送到我的回调网址时,我无法访问该响应。有没有办法来检索发送到我的回调url的json?如何在PHP中接收来自Facebook的实时更新?

回答

1

从文档:

该请求将具有内容类型application/JSON的和主体将包括含有一个或多个变化的JSON编码的字符串。

这意味着使用$ _ POST访问值的“正常”的方式,你不能访问它在PHP中,因为这个请求的格式是形式的不/ url编码 - 它不包含的name = value对,而是本身只是一个JSON编码的字符串。

您应该能够使用php://input流包装读取该数据 - 只需使用线像

$inputdata = file_get_contents('php://input'); 

例如 - 然后你只需要使用json_decode这个变量的内容。

+0

这工作!谢谢!!! – user1697872

+0

我还有一个问题,如果你不介意,我该如何解析从facebook实时更新收到的json?我目前正在使用此代码,并且它不输出任何内容。有什么想法吗??? if(isset($ _ POST)){ \t \t $ inputdata = file_get_contents('php:// input'); \t $ obj = json_decode($ inputdata); \t echo $ obj [“entry”] [0] [“uid”]; } – user1697872

+0

正如我所说,$ _POST不会被填充... – CBroe