Игнорировать ошибки facebook и продолжить скрипт

Иногда мой скрипт получает такие ошибки: (#803) Some of the aliases you requested do not exist,

Как сделать так, чтобы мой скрипт игнорировал эту ошибку и продолжал получать данные?

КОД:

public function getClub($id) 
{
    $session = $this->fbStart();
    $GET = '?fields=about,category,company_overview,cover,founded,likes,link,location,name,phone,username,website';
    return (new FacebookRequest($session, 'GET', '/'.$id.$GET.''))->execute()->getGraphObject(GraphUser::className())->asArray();
}

foreach ($ids as $id) {
    $club = $model->getClub($id);
    $model->saveClub($club);
}

1 ответ

Решение

Исходя из вашего обновленного кода, вам, скорее всего, нужно просто добавить туда if / else.

РЕДАКТИРОВАТЬ: вы используете версию цепочки методов, разбить его на не цепочку версии. Затем вы можете работать с исключениями и возвращенными ошибками, используя if / else. Это из документации FB SDK:

try {
      $response = (new FacebookRequest($session, 'GET', '/me'))->execute();
      $object = $response->getGraphObject();
      // Here is likely where you will get the error back, though I am guessing,
      // I have never used their SDK...
      echo $object->getProperty('name');
} catch (FacebookRequestException $ex) {
      // Or here is where the message will come back
      echo $ex->getMessage();
} catch (\Exception $ex) {
      echo $ex->getMessage();
}

Вот ссылка: https://developers.facebook.com/docs/php/FacebookRequest/4.0.0

Другие вопросы по тегам