Стоит отметить, что вы должны быть осторожны с побегом. Я попробовал это и не получил никакой радости. Я перепробовал много комбинаций по этим направлениям:
$query->setSpreadsheetQuery("name=\"Andrew John\"");
но безрезультатно. Выполнение трафика через HTTP Inspector (и еще одна вещь, на которую стоит обратить внимание: настройка Zend HTTP Client для работы через прокси-сервер!) Я мог видеть, что сгенерированные URL-адреса из этой работы выглядят так:
http://spreadsheets.google.com:80/feeds/list/spreadsheetkey/od6/private/full?sq=name%3D%5C%22Andrew+John%5C%22
Это приводило к ошибкам Invalid Token (Status 400). Ей не понравилась escape-последовательность% 5C% 22 (\ "), но откуда она взялась?!
Оказывается, что в коде Zends встроен "parse_str", который добавлял косые черты в строку запроса, потому что по какой-то причине (Ubuntu по умолчанию конфигурация php?) Magic_quotes_gpc был установлен на On в файле php.ini.
Отключение этого параметра позволило сгенерированным URL-адресам вернуться к:
http://spreadsheets.google.com:80/feeds/list/spreadsheetkey/od6/private/full?sq=name%3D%22Andrew+John%22
и все начало работать.
Кстати, у меня был , чтобы прибегнуть к его запуску через инспектора HTTP, потому что я делал:
echo $query->getQueryUrl();
неправильно сообщил, что отправлял приведенную выше строку без% 5C перед каждой кавычкой! Просто показывает, что никогда не стоит доверять тому, что говорит вам ваш код ...
Итак, если у вас есть проблемы со структурированными запросами в классах Gdata среды Zend Framework, и простое добавление кавычек не решает эту проблему, быстро взгляните, не установлено ли для magic_quotes_gpc значение On!