Обработка ошибок PHP OAuth - PullRequest
       21

Обработка ошибок PHP OAuth

0 голосов
/ 25 апреля 2018

Я использую библиотеку 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 или перенаправление)

Есть идеи, как продолжить работу функции, несмотря на ошибки?

1 Ответ

0 голосов
/ 25 апреля 2018

Проблема заключалась в том, что она сама себя исправляла.Требуется обратная косая черта при

catch (\OAuthException $e) {
}

Теперь код перехватывает ошибки и продолжает работу, если код не предоставлен внутри catch.

...