Я работаю над приложением, использующим Amazon CloudDrive SDK. При запросе списка папок или файлов вы можете отправлять фильтры в строке запроса, но для значений каждого фильтра необходимо экранировать специальные символы (включенные пробелы, очень похожие на аргумент командной строки Linux). Я не совсем уверен, как отправить строку через Guzzle (или PHP в целом), чтобы она интерпретировалась API как экранированные строки.
Если я использую ‘addcslashes’ и определяю все необходимые символы, API возвращается с Invalid filter:name:Test\
, но если я просто отбраковываю ту же самую конечную точку, она возвращает правильные данные.
Когда используешь addcslashes
в PHP значение запроса в конечном итоге становится «name: Test \ Folder AND kind: FOLDER». Но, как я уже сказал, это не удается в конечном итоге.
Спасибо за любую помощь заранее!
Таким образом, я опубликовал этот вопрос после дня или около того возни с проблемой без решения, и сразу после публикации я попробовал другой метод, который, казалось, решил мою проблему …
В библиотеке Guzzle, установив тип кодировки запроса на RFC1738
казалось, чтобы решить проблему и вернуть правильные данные. Хотя мне еще нужно было позвонить addcslashes
по стоимости.
Других решений пока нет …