I am trying to make a function in my controller to post an album on Facebook. Every time a function is available, I am redirected to REDIRECT_URI, as if $ userid = 0, even if I just logged into Facebook correctly. Is it because after logging in, it restarts the function and creates a new Facebook session, destroying the user I just got?
Thanks for any help you can provide.
function share($id){
if (!$id) { $this->Session->setFlash(__('Invalid id for Album', true));
$this->redirect(array('action'=>'index')); }
$photos = $this->Album->find('all', array('conditions' => array('Album.id' => $id)));
$facebook = new Facebook(array('appId'=>'valid aphid', 'secret'=>'valid secret'));
$facebook->setFileUploadSupport(true);
$userid = $facebook->getUser();
if($userid) {
try {
$user_profile = $facebook->api('/me');
}
catch(FacebookApiException $e){
error_log($e);
$userid = null;
}
} else {
$login_url = $facebook->getLoginUrl($params = array('redirect_uri' => REDIRECT_URI,'scope' => PERMISSIONS_REQUIRED));
echo ("<script> top.location.href='".$login_url."'</script>");
}
$results = $facebook->api('me/albums', 'post', $photos[0]['Album']['name']);
}
source
share