Я уже давно использую QuickBooks PHP DevKit в производстве без проблем.
Тем не менее, в последнее время я получил следующую ошибку из моего create_invoice
ajax create_invoice
когда я выплюнул:
if($resp = $InvoiceService->add($Context, $realm, $Invoice)){ //create invoice code here } else { echo $InvoiceService->lastError(); }
Я получаю следующую ошибку:
3200: [message=ApplicationAuthenticationFailed; errorCode=003200; statusCode=401, ]
Единственная документация, которую я могу найти об этой ошибке, заключается в том, что код ошибки 3200 означает «устаревшая последовательность редактирования», но я создаю счет-фактуру.
Так почему же эта ошибка внезапно появляется?
Кажется, я начал эту ошибку с 11 июля. До этого все работало нормально.
Нужно ли обновлять токены доступа и как я буду это делать?
Единственная документация, которую я могу найти об этой ошибке, заключается в том, что код ошибки 3200 означает «устаревшая последовательность редактирования», но я создаю счет-фактуру.
Код ошибки 3200 (для qbXML) полностью отделен от кода ошибки 003200 (для IPP / v3), поэтому «устаревшая последовательность редактирования» здесь вообще не актуальна.
Так почему же эта ошибка внезапно появляется?
Как правило, ошибка с ошибкой «401 Authentication Failed» в значительной степени означает то, что она говорит, – аутентификация против приложения завершилась неудачно.
Это может быть связано с несколькими причинами:
Вы проверяли токены OAuth? Они все еще действительны? Вы отправляете правильные ответы?
Нужно ли обновлять токены доступа и как я буду это делать?
Может быть.
Вы можете вернуться через процесс подключения (например, снова нажмите кнопку «Подключиться к QuickBooks»), чтобы обновить их.
Если они истекли (например, вы не обновлялись в течение 6 месяцев), вы должны выполнить вызов повторного подключения, чтобы избежать этого в будущем: