Ответ 1
Получил работу здесь Gist со всеми моими скриптами. Из вашего URL-адреса вам кажется, что вы можете добавить POSTing к добавить рабочий стол вместо добавить строку списка конечная точка. Конечная точка рабочего листа ожидает title
и rowCount
, как вы видите. Вы хотите, чтобы URL-адрес выглядел как
https://spreadsheets.google.com/feeds/list/$spreadsheet_id/$worksheet_id/private/full
Я установил таблицу для тестирования с тремя столбцами:
- Фрукты
- Цвет
- Размер
Я засеял его (hah!) с помощью Apple, Red, Medium
, когда я тестировал auth и читал, а затем добавил Orange, Orange, Medium
с помощью этой команды cURL:
curl \
--header "Authorization: GoogleLogin auth=$auth" \
--header 'Content-Type: application/atom+xml' \
-d @data.xml \
-X POST \
"https://spreadsheets.google.com/feeds/list/$spreadsheet_id/$worksheet_id/private/full"
Где:
-
$auth
- мой токен Google, полученный отhttps://www.google.com/accounts/ClientLogin
-
$spreadsheet_id
- это идентификатор, видимый в URL-адресе или полученный изhttps://spreadsheets.google.com/feeds/spreadsheets/private/full
-
$worksheet_id
- это рабочий лист (один лист/вкладка внутри всего документа), полученный изhttps://spreadsheets.google.com/feeds/worksheets/$spreadsheet_id/private/full
. Я не видел ничего видимого в пользовательском интерфейсе, я мог бы получить идентификатор листа.
и data.xml
выглядит следующим образом:
<entry xmlns="http://www.w3.org/2005/Atom"
xmlns:gsx="http://schemas.google.com/spreadsheets/2006/extended">
<gsx:fruit>Orange</gsx:fruit>
<gsx:color>Orange</gsx:color>
<gsx:size>Medium</gsx:size>
</entry>
Я заметил, что все столбцы были внизу - я не уверен, что это важно. Я также заметил, что есть теги title
и content
, когда я извлекаю строки в дополнение к структурированным элементам, но title
был красной серой для ошибки title
, которую вы видите.
<!-- GET https://spreadsheets.google.com/feeds/list/$spreadsheet_id/$worksheet_id/private/full -->
<!-- snip -->
<title type="text">Apple</title>
<content type="text">color: Red, size: Medium</content>
<gsx:fruit>Apple</gsx:fruit>
<gsx:color>Red</gsx:color>
<gsx:size>Medium</gsx:size>
<!-- snip -->