События декодирования JSON на Facebook - PullRequest
1 голос
/ 05 сентября 2011

У меня есть:

$user = json_decode(file_get_contents(
    'https://graph.facebook.com/me?access_token=' .
    $cookie['access_token']), true);


var_dump($user);

, который отлично работает и выдает профиль.

Но:

$events = json_decode(file_get_contents(
    'https://graph.facebook.com/me/events?access_token=' .
    $cookie['access_token']), true);


var_dump($events);

дает:

object(stdClass)#5 (1) { ["data"]=> array(0) { } }

Я не уверен, является ли это пустым объектом, или я не получаю доступ к тому, что находится внутри «данных» правильно.Но я знаю, что на самом деле события связаны с моим профилем.Разрешения были предоставлены, так что это не проблема.Кто-нибудь знает, как вернуть все имена событий для моего профиля?

1 Ответ

0 голосов
/ 17 апреля 2017

Чтобы получить события в PHP, вы должны выполнить следующие шаги:

Запросить правильный токен доступа по этой ссылке facebook: постоянный токен доступа к странице?

Замените свой токен доступа ниже текстового поля YOUR_ACCESS_TOKEN

    <?php
        $json_string = 'https://graph.facebook.com/5973249561/events/?access_token=YOUR_ACCESS_TOKEN&fields=id,name,description,start_time,place,cover,end_time&limit=999';
        $obj = json_decode(curl_get_contents($json_string),true);

        foreach ($obj['data'] as $key => $value) {
          echo @$value['id'];
          echo @$value['name'];
          echo @$value['start_time'];
          echo @$value['place'];
          echo @$value['cover']['source'];
        }

        function curl_get_contents($url)
        {
         $ch = curl_init($url);
         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
         curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
         curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
         curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
         $data = curl_exec($ch);
         curl_close($ch);
         return $data;
       }
     ?>
...