QuickBooks Онлайн-запрос с фильтром возвращает 401 каждый раз

мы успешно создали объекты с помощью приложения POST и Content-Type / xmlI '

У нас также был успешный запрос с использованием Content-Type application / x-www-form-urlencoded с пустым телом запроса, которое возвращает все типы объектов в зависимости от того, какой URI я указал.

Я также могу заставить то же самое работать с чем-то вроде PageNum = 1 &ResultsPerPage = 1 в теле запроса, и я выяснил, как включить это в подпись, чтобы я получил правильный ответ.

Однако, независимо от того, как я его отформатирую, я не могу получить ничего, кроме ответа 401, когда пытаюсь использовать фильтр (что-то базовое, например Filter = FAMILYNAME: EQUALS: Doe). Я'Прочитайте спецификации OAuth Core 1.0 Revision A о том, как экранировать все имена и значения параметров, используя процентное кодирование [RFC3986]. Однако я чувствую, что яЯ пропустил шаг или неправильно отформатировал. Я'я видел противоречивую информацию в моем поиске через Intuit 'Форумы о том, что именно является правильным форматом.

Любая помощь по этому вопросу будет принята с благодарностью. Я'Мы боролись с этим уже целую неделю.

Ответ, который я получаю при попытке использовать фильтр: HTTP Status 401 - message = Исключительная аутентификация OAuth; ERRORCODE = 003200; StatusCode = 401

---- Обновление ---- Я

Я вижу ту же ошибку, когда пытаюсь использовать фильтры с Новыми инструментами разработчика IPP - IPP API Explorer. Я'используя проводник IDS V2 QBO API. Я'Я могу использовать этот инструмент, чтобы получить все сообщения, и ответ показывает всех моих клиентов, но когда я пытаюсь использовать фильтр, я получаю: Ошибка сервера 401 - Несанкционированный: доступ запрещен из-за неверных учетных данных. У вас нет разрешения на просмотр этого каталога или страницы с использованием предоставленных вами учетных данных.

Есть идеи? Если я'Я получаю ту же ошибку из инструмента API Explorer, и это заставляет меня думать, что проблема в чем-то другом.

---- Окончательное обновление ----

Я наконец-то добился успеха с фильтрами, и я думаю, что понял, в чем заключалась моя проблема. Я всегда подозревал, что смог получить запросы с нумерацией страниц, как "PageNum = 1 &ResultsPerPage = 1" работать, но не мог получить что-то вродеFilter = FAMILYNAME: EQUALS: Doe ", Я подозревал, что проблема была с пробелом в формате фильтра. То, что заставило меня отследить это ранее, так это то, что я не смог заставить фильтры работать в IDS V2 QBO API Explorer. Это заставило меня подозревать, что происходит что-то еще. Я решил полностью игнорировать API Explorer и сосредоточиться на том, почему я могу заставить его работать одним способом, а другим - нет.

Я считаю, что моя проблема сводится к неправильному кодированию фильтра "Значение в подписи. Это объясняет 401 недействительные ошибки подписи, которые я получал ".

Фильтр = Имя: РАВНЫЕ: Доу " становится "Фильтр = Имя% 20% 3AEQUALS% 20% 3ADoe» после нормализации.

Процент-кодирование, которое должно дать "Фильтр% 3DName% 2520% 253AEQUALS% 2520% 253ADoe».

По сути надодвойной» закодировать пробел и двоеточия, но не знак равенства. Я перепробовал множество вариантов кодирования, но считаю, что моя ошибка заключалась в том, что я не был "двойной» кодирование, или когда я был двойным кодированием, я включал '=' знак. В любом случае нарушает вашу подпись. Спасибо всемвход.

Ответы на вопрос(4)

Ваш ответ на вопрос