В настоящее время я пытаюсь получить некоторые данные Facebook, к которым я затем хочу получить доступ в Javascript. В частности, я пытаюсь получить доступ к некоторым характеристикам друзей пользователя.
Итак, я получаю список друзей пользователя, используя file_get_contents, в URL-адрес API его графа.
Это дает мне массив идентификаторов друзей.
Поскольку мне нужна характеристика от каждого друга, я делаю:
foreach($dataarray as $friend) {
$friendurl = "https://graph.facebook.com/".$friend->id."?access_token=".$token."";
$fdata = json_decode(file_get_contents($friendurl));
if($fdata->gender == "male") {
array_push($fulldata, $fdata->name);
}
}
Кажется, что наличие этого фрагмента кода нарушает код JavaScript, поскольку ни одна из моих инструкций по предупреждению не выполняется.
Кроме того, вставка разрыва после if для выполнения только одного file_get_contents делает код работоспособным (но мне, очевидно, нужно пройти через всех друзей).
Как я могу решить эту проблему?
Я бы использовал jQuery или xmlHttpRequest для выполнения HTTP GET, но почему-то мне всегда кажется, что я возвращаю код состояния 0 с пустым ответом.
Edit:
Вот код JS:
<script type="text/javascript">
function initialize() {
alert('Test1');
<?php
$fulldata = array();
$data = $result->data;
foreach($data as $friend) {
$friendurl = "https://graph.facebook.com/".$friend->id."?access_token=".$token."";
//echo("alert(\"".$friendurl."\");");
$fdata = json_decode(file_get_contents($friendurl));
if($fdata->hometown->name) {
array_push($fulldata, $fdata->hometown->name);
}
}
echo ("alert(\"".count($fulldata)."\")");
?>
}
</script>
Я должен был также добавить, что это делается на странице, встроенной в Facebook с помощью функции canvas.