尝试检索Facebook事件返回一个空数组

尝试检索Facebook事件返回一个空数组,facebook,facebook-graph-api,facebook-php-sdk,Facebook,Facebook Graph Api,Facebook Php Sdk,我试图从公共页面检索所有事件,但得到的只是一个空数组。它与feed一起工作,我已经尝试过登录并查看我的个人资料,它会获取事件,所以我真的不明白为什么不使用公共页面 这是我的密码。有什么想法吗 session_start(); require_once 'vendor/autoload.php'; require_once 'base_facebook.php'; require_once 'facebook.php'; use base_facebook; use Facebook; use

我试图从公共页面检索所有事件,但得到的只是一个空数组。它与feed一起工作,我已经尝试过登录并查看我的个人资料,它会获取事件,所以我真的不明白为什么不使用公共页面

这是我的密码。有什么想法吗

session_start();

require_once 'vendor/autoload.php';
require_once 'base_facebook.php';
require_once 'facebook.php';

use base_facebook;
use Facebook;
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;
use Facebook\AccessToken;
use Facebook\FacebookHttpable;
use Facebook\FacebookCurl;
use Facebook\FacebookCurlHttpClient;
use Facebook\GraphUser;

 $facebook = new Facebook(array(
    'appId' => '{app_id}',
    'secret' => '{app_secret}',
    "redirect_uri" => "http://localhost/fb/src/acme/app/facebookpoc.php",
    'cookie' => true ));

// Graph API to request to EVENTS
    $pageevents = $facebook->api("/" . "nike" . "/events?fields=name,description,privacy,end_time,location");
    echo "<pre>";
    print_r( $pageevents );
    echo "</pre>";

    // Loop for events
    foreach($pageevents['data'] as $event) {
        // Open up an fb-event div
        echo "<div class=\"fb-event\">";

        // Post start time of the event and its data
        echo "<h2>The event starts on: " . date("jS M, Y", (strtotime($event['start_time']))) . "</h2>";
        echo "<p> Name of the event: " . $event['name'] . "</p>";

        if (isset($event['description']))   //Check if the event has a description concreted
        {
            echo "<p> Description of the event: " . $event['description'] . "</p>";
        }
        else echo "<p> Event has no description concreted </p>";

        if (isset($event['location']))  //Check if the event has a location concreted
        {
            echo "<p> Location of the event: " . $event['location'] . "</p>";
        }
        else echo "<p> The event has no location concreted </p>";

        if (isset($event['end_time']))  //Check if the event has ending time
        {
            echo "<p> The event ends at: " . date("jS M, Y", (strtotime($event['end_time']))) . "</p>";
        }
        else echo "<p> The ending time of the event hasn't been concreted </p>";

        if($event['privacy'] != "OPEN") // Check the current privacy of the event
        {
            echo "<p> <strong>The event is not fully public!! </p> </strong>";
        }
        else echo "<p> The event is <strong>fully public!</strong> </p>";

        // Close fb-event div
        echo "</div>";
    }
session_start();
需要_once“vendor/autoload.php”;
需要一次“base_facebook.php”;
需要一次“facebook.php”;
使用base_facebook;
使用Facebook;
使用Facebook\FacebookSession;
使用Facebook\FacebookRedirectLoginHelper;
使用Facebook\FacebookRequest;
使用Facebook\FacebookResponse;
使用Facebook\FacebookSDKException;
使用Facebook\FacebookRequestException;
使用Facebook\FacebookAuthorizationException;
使用Facebook\GraphObject;
使用Facebook\AccessToken;
使用Facebook\FaceBookHttTable;
使用Facebook\FacebookCurl;
使用Facebook\FacebookCurlHttpClient;
使用Facebook\GraphUser;
$facebook=新的facebook(数组)(
'appId'=>'{app_id}',
'secret'=>'{app_secret}',
“重定向\u uri”=>“http://localhost/fb/src/acme/app/facebookpoc.php",
‘cookie’=>true));
//向事件请求的图形API
$pageevents=$facebook->api(“/”“nike.”/events?字段=名称、描述、隐私、结束时间、位置”);
回声“;
打印(pageevents);
回声“;
//事件循环
foreach($pageevents['data']作为$event){
//打开一个fb事件部门
回声“;
//事件及其数据的启动后时间
echo“事件开始于:”.date(“jsm,Y)”,(strotime($event['start_time'])))”;
echo“事件名称:“.$event['Name']”“

”; if(isset($event['description'])//检查事件是否有具体的描述 { echo“事件描述:“.$event['Description']”“

”; } else echo“事件没有具体描述”

”; if(isset($event['location'])//检查事件是否有具体的位置 { echo“事件的位置:“.$event['Location']”“

”; } else echo“事件没有具体位置”

”; if(isset($event['end_time'])//检查事件是否有结束时间 { echo“事件结束于:“.date”(.jsm,Y),(strotime($event['end_time']))”

”; } else echo“事件的结束时间尚未确定”

; if($event['privacy']!=“OPEN”)//检查事件的当前隐私 { echo“事件不是完全公开的!!

”; } else echo“该活动是完全公开的!

”; //关闭fb事件div 回声“; }
它输出:

排列 ( [数据]=>阵列 ( ) )


提前谢谢,但我真的不明白为什么会发生这种情况……

nike页面没有任何当前事件。你为什么不尝试一个有即将到来的事件的页面,看看你的代码是否有效。问题是,我没有得到任何类型的事件(即使是“通过”的事件也没有尝试任何其他页面。有什么想法吗?顺便问一下,谢谢你找到解决方案了吗??