В своем приложении, когда вы проверяете, вошел ли пользователь в Facebook, убедитесь, что вы подтверждаете, что ваше приложение запросило «особую привилегию» для публикации на стене пользователя.Вы можете сделать это, изменив код следующим образом:
$url = $this->facebook->getLoginUrl(array('canvas' => 1, 'fbconnect' => 0, 'req_perms' => 'user_status,publish_stream'));
Обратите внимание, что для ключа req_perms задан список значений, включая publish_stream.Если у вас нет этой привилегии, вызов фида будет неудачным.
Кроме того, действительно ли это проблема или нет, вы можете обернуть свои запросы Facebook блоком try-catch, чтобы перехватывать исключения типа FacebookApiException, чтобы получить больше информации в случае ошибок.Например:
try {
$uid = $this->facebook->getUser();
$me = $this->facebook->api('/me');
} catch (FacebookApiException $e) {
print_r($e);
}