Ошибка PHP Zend Gdata 400 при вставке строки в электронную таблицу

Я делаю небольшой класс для загрузки электронных таблиц и вставки в них данных, но когда я вставляю строку, я получаю сообщение об ошибке:

Ожидаемый код ответа 200, получено 400 Приносим извинения, произошла ошибка сервера. Подождите немного и попробуйте перезагрузить таблицу.

Я смотрю на этом сайте и в Google, и у некоторых людей возникает эта ошибка, когда они пытаются вставить данные с заглавными буквами или пробелами ... я не пытаюсь вставлять такие данные, поэтому я полагаю, что это не моя ошибка. Я код, который вызывает у меня проблемы:

try {
    echo $this->_spreadId . '<br>';
    echo $this->_defaultWorksheetId . '<br>';
    echo get_class($this->_spreadClient) . '<br>';
    $rowData = array('stuff' => 'smurf');
    $this->_spreadClient->insertRow($rowData, $this->_spreadId, $this->_defaultWorksheetId);
} catch (Exception $exc) {
    echo '<br><pre>' . $exc->getTraceAsString() . '</pre>';
    echo '<br>' . $exc->getMessage();
}

Вывод этого скрипта:

tVe4Mr82qD3LRhubQrcLxMQ
od6
Zend_Gdata_Spreadsheets

    #0 /home/sergi/projects/quiniela2gdocs/lib/Zend/Gdata.php(219): Zend_Gdata_App->performHttpRequest('POST', 'https://spreads...', Array, 'performHttpRequest('POST', 'https://spreads...', Array, 'post('insertEntry('insertRow(Array, 'tVe4Mr82qD3LRhu...', 'od6')

   Expected response code 200, got 400 We're sorry, a server error occurred. Please wait a bit and try reloading your spreadsheet.

Другой метод этого класса — создание электронной таблицы, и он работает хорошо, поэтому я думаю, что проблем с подключением к gDocs нет.

Некоторая помощь приветствуется.

Большое спасибо!!


person SergiGP    schedule 18.09.2011    source источник


Ответы (1)


У меня была аналогичная проблема, которая возникла из-за наличия пробелов в массиве. Мне помогло удаление пробелов:

$rowData = array('stuff' => 'smurf'); - your code
$rowData = array('stuff'=>'smurf'); - my code
person user2690236    schedule 13.02.2015