Я использую библиотеку OAuth для подключения к Etsy shop API. Код выглядит так:
foreach ($transactions as $transactionSingle) {
try {
$oauth = new OAuth('xxx', 'xxx',
OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_URI);
$oauth->setToken($access_token, $access_token_secret);
$data = $oauth->fetch("https://openapi.etsy.com/v2/users/".$transactionSingle['buyer_id']."/profile", null, OAUTH_HTTP_METHOD_GET);
$json = $oauth->getLastResponse();
$results = json_decode($json, true);
} catch (OAuthException $e) {
return null;
}
}
Теперь проблема в том, что я запускаю этот код несколько раз на foreach, и если этот URL неверен и он не может получить никаких данных — вся функция останавливается и больше не продолжается. Он отлично работает до тех пор, пока старый идентификатор пользователя не будет передан в URL, а $ oauth-> fetch просто вернет сообщение:
Неверный запрос авторизации / неверный запрос (получено 404, ожидаемый HTTP / 1.1 20X или
перенаправление)
Есть идеи, как продолжить работу функции, несмотря на ошибки?
Проблема заключалась в том, что она сама по себе ошибалась. Необходим обратный слеш на
catch (\OAuthException $e) {
}
Теперь код перехватывает ошибки и продолжается, если внутри catch не указан код.
Других решений пока нет …