Facebook real-time updates
I was trying to implement the FB Real-Time Updates. I guess I have managed to subscribe, but don't get any updates... Here is my code:

**For getting App access token**

    function authAsApp() {
    	$config = array ('appId' => FB_APPID, 'secret' => FB_SECRET);
    	$fb = new Facebook($config);
    	Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = false;
    	
    	
    	$args = array('grant_type' => 'client_credentials',
    			'client_id' => APP_ID,
    			'client_secret' =>  APP_SECRET);
    	
    	$ch = curl_init();
    	$url = 'https://graph.facebook.com/oauth/access_token';
    	curl_setopt($ch, CURLOPT_URL, $url);
    	curl_setopt($ch, CURLOPT_HEADER, false);
    	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    	curl_setopt($ch, CURLOPT_POST, true);
    	curl_setopt($ch, CURLOPT_POSTFIELDS, $args);
    	$returnValue = curl_exec($ch);
    	curl_close($ch);
    	
    	$appAccessToken = substr($returnValue,  strpos($returnValue,"=")+1);
    	
    	var_dump($appAccessToken);
    	
    	return $appAccessToken;
    }

**For subscribtion**

    function subscribeTo($access_token) {
    	$param = array('access_token' => $access_token,
    			'object' => 'user',
    			'fields' => 'name, feed, likes',
    			'callback_url' => 'http://mysite.com/realTimeVerification.php',
    			'verify_token' => VERIF_STR
    	);
    	$config = array ('appId' => FB_APPID, 'secret' => FB_SECRET);
    	$fb = new Facebook($config);
    	Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = false;
    
    	try {
    		
    	$subs = $fb->api('/'.APP_ID.'/subscriptions', 'POST', $param);
    	var_dump($subs);
    	} catch (\FacebookApiException $e) {
    		echo $e->getCode()." ".$e->getType()." ".$e->getMessage()." ".$e->getFile()." ".$e->getLine()."\n";
    	}
    }

**In the callback file named realTimeVerification.php I have**

    <?php
    define('UPD_FILE', 'updates.log');
    $method = $_SERVER['REQUEST_METHOD'];
    global $log_file;
    
    if ($method == 'GET' && $_GET['hub_mode'] == 'subscribe' && $_GET['hub_verify_token'] == 'BRComm') {
       echo $_GET['hub_challenge'];
       exit;
    }
    else if ($method == 'POST')
    {
    	$log_file=UPD_FILE;
    	$updates = json_decode(file_get_contents("php://input"), true); 
    
    	logToFile("updates =".print_r($updates));
    }
    function logToFile($message){
    	global $log_file;
    
    	$hdl = fopen($log_file, 'a') or die ("couldn't open log file");
    	fwrite($hdl,$message."\n");
    	fclose($hdl);
    }
    ?>

After subscription I check it in Graph API Explorer and get:

    {
      "data": [
        {
          "object": "user", 
          "callback_url": "http://mysite.com/realTimeVerification.php", 
          "fields": [
            "feed", 
            "name"
          ], 
          "active": true
        }
      ]
    }

So it's subscribed. But when I do changes to my user that has authenticated the App, I don't get any changes in the log. What am I doing wrong?
Facebook real-time updates
===

I was trying to implement the FB Real-Time Updates. I guess I have managed to subscribe, but don't get any updates... Here is my code:

**For getting App access token**

    function authAsApp() {
    	$config = array ('appId' => FB_APPID, 'secret' => FB_SECRET);
    	$fb = new Facebook($config);
    	Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = false;
    	
    	
    	$args = array('grant_type' => 'client_credentials',
    			'client_id' => APP_ID,
    			'client_secret' =>  APP_SECRET);
    	
    	$ch = curl_init();
    	$url = 'https://graph.facebook.com/oauth/access_token';
    	curl_setopt($ch, CURLOPT_URL, $url);
    	curl_setopt($ch, CURLOPT_HEADER, false);
    	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    	curl_setopt($ch, CURLOPT_POST, true);
    	curl_setopt($ch, CURLOPT_POSTFIELDS, $args);
    	$returnValue = curl_exec($ch);
    	curl_close($ch);
    	
    	$appAccessToken = substr($returnValue,  strpos($returnValue,"=")+1);
    	
    	var_dump($appAccessToken);
    	
    	return $appAccessToken;
    }

**For subscribtion**

    function subscribeTo($access_token) {
    	$param = array('access_token' => $access_token,
    			'object' => 'user',
    			'fields' => 'name, feed, likes',
    			'callback_url' => 'http://mysite.com/realTimeVerification.php',
    			'verify_token' => VERIF_STR
    	);
    	$config = array ('appId' => FB_APPID, 'secret' => FB_SECRET);
    	$fb = new Facebook($config);
    	Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = false;
    
    	try {
    		
    	$subs = $fb->api('/'.APP_ID.'/subscriptions', 'POST', $param);
    	var_dump($subs);
    	} catch (\FacebookApiException $e) {
    		echo $e->getCode()." ".$e->getType()." ".$e->getMessage()." ".$e->getFile()." ".$e->getLine()."\n";
    	}
    }

**In the callback file named realTimeVerification.php I have**

    <?php
    define('UPD_FILE', 'updates.log');
    $method = $_SERVER['REQUEST_METHOD'];
    global $log_file;
    
    if ($method == 'GET' && $_GET['hub_mode'] == 'subscribe' && $_GET['hub_verify_token'] == 'BRComm') {
       echo $_GET['hub_challenge'];
       exit;
    }
    else if ($method == 'POST')
    {
    	$log_file=UPD_FILE;
    	$updates = json_decode(file_get_contents("php://input"), true); 
    
    	logToFile("updates =".print_r($updates));
    }
    function logToFile($message){
    	global $log_file;
    
    	$hdl = fopen($log_file, 'a') or die ("couldn't open log file");
    	fwrite($hdl,$message."\n");
    	fclose($hdl);
    }
    ?>

After subscription I check it in Graph API Explorer and get:

    {
      "data": [
        {
          "object": "user", 
          "callback_url": "http://mysite.com/realTimeVerification.php", 
          "fields": [
            "feed", 
            "name"
          ], 
          "active": true
        }
      ]
    }

So it's subscribed. But when I do changes to my user that has authenticated the App, I don't get any changes in the log. What am I doing wrong?