В настоящее время я пытаюсь получить и разобрать события пользователя, используя api. Для этого я использую функцию ниже.Получение событий от Facebook
function facebook_get_events($facebookSession) {
// make the API call and get array of event objects
$events = (new FacebookRequest($facebookSession, 'GET', '/me/events')->execute()->getGraphObject();
log("Got events from facebook " . count($events));
foreach ($events as $event) {
echo $event->getProperty('id');
}
return events;
}
Проблема: Проблема заключается в том, что он не работает. В журнале я замечаю, что в массиве только один элемент. Кстати, я предполагаю, что события - это массив, потому что, согласно документации Facebook, ответ представляет собой «массив объектов событий». Click here to check out the doc link.
Что касается печати идентификатора, ничего не отображается.
Чтобы проверить правильность запроса, я также использовал API-интерфейс API-интерфейсов Facebook и правильно вернул список событий. Структура результатов показана ниже (информация удалена из-за проблем с конфиденциальностью).
{
"data": [
{
"name": "...",
"start_time": "...",
"location": "...",
"rsvp_status": "...",
"id": "..."
},
{
"name": "...",
"start_time": "...",
"timezone": "...",
"rsvp_status": "...",
"id": "..."
}
],
.....
}
Я также проверил ли мои права являются правильными, и я могу подтвердить, что я в том числе разрешение user_events. Я думаю, что моя проблема больше связана с тем, как я анализирую ответ.
В соответствии с комментарием, я также сделал var_dump для событий. Ниже приведен снимок того, что я получил.
object(Facebook\GraphObject)#5 (1) { ["backingData":protected]=> array(2) { ["data"]=> array(25) { [0]=> object(stdClass)#6 (5) { ["id"]=> string(15) “…” ["name"]=> string(11) “..”. [“location"]=> string(14) “…” ["start_time"]=> string(24) “…”
Прогресс 1:
Я также попытался сделать использование этого кода, вызвав свойство 'данные', но до сих пор не удалось.
function facebook_get_events($facebookSession) {
// make the API call and get array of event objects
$events = (new FacebookRequest($facebookSession, 'GET', '/me/events')->execute()->getGraphObject();
log("Got events from facebook " . count($events->getProperty('data')));
foreach ($events->getProperty('data') as $event) {
echo $event->getProperty('id');
}
return events;
}
Приведенный выше код не выдает ничего.
ли вы показать нам, что вы видите, когда вы 'var_dump ($ событий)' сразу после выполнения вызова, пожалуйста? Надеюсь, это прояснится, если это определенно, как вы разбираете его и формат, в котором он находится. Возможно, ему нужно что-то вроде 'foreach ($ events ['data]) {' или что-то еще. – LeonardChallis
Я поместил var_dump в вопрос. Спасибо – Goaler444
Получил предупреждение: PHP Предупреждение: неверный аргумент для foreach() – Goaler444