我想从Facebook检索用户的音乐。我订阅了实时更新,并在应用程序本身中设置了适当的权限。
我正在使用facebook的UI来设置权限和实时更新
在Facebook App中设置“用户和朋友权限”权限。
为实时更新设置所需的值。
我的回调网址的代码是:
$myverify_token = 'vt1';
if($_SERVER['REQUEST_METHOD'] == 'GET') {
if($_GET['hub_verify_token'] == $myverify_token) {
$handle = fopen('f_d.txt', 'w');
fwrite($handle, 'FaceBook can GET me');
fclose($handle);
echo $_GET['hub_challenge'];
}
}
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$data = file_get_contents("php://input");
$json = json_decode($data);
$handle = fopen('f_d.txt', 'w');
fwrite($handle, $json);
fclose($handle);
}
f_d.txt 设置了777权限。
当我测试mycallback URL时,GET条件为真,并且'FaceBook可以获取我'被写入文件。现在我清除文件的内容(不删除)。
现在我登录我的脸书,更改音乐喜欢。等了一整天仍没有从Facebook推出。该文件仍为空白。甚至没有GET请求到我的回调URL ??
我还需要什么才能获得正确的实时更新?
在Facebook上发表:https://developers.facebook.com/bugs/394779173962716
答案 0 :(得分:0)
我注意到您正在尝试在文本文件中编写响应,这没关系,但是您在解码json后执行此操作。这意味着您正在编写结果对象的内容。将创建该文件,但实际写入将导致致命错误,从而留下空文件。
长话短说:删除json_decode命令,这样你就可以编写实际的字符串了(即使它的json编码它简短而且足够简单,你可以阅读它。)