因此,文档here非常明确地说,将XML发布到具有此XML格式的字段名称的工作表的列表提要URL将插入一个新行。
Auth正在运行,授权帐户可以访问工作表。所有这些错误都得到了解决。
所以当我在没有
的情况下发布到https://spreadsheets.google.com/feeds/list/key/mySheetIDHere/private/full时"发布的条目缺少一个或多个必填字段:title"
所以除了以前存在的<title></title>
之外,我添加了<gsx:Title></gsx:Title>
,然后消失了,但被
&#34;发布的条目缺少一个或多个必填字段:rowCount&#34;
所以我尝试添加一个当前行数的int,但该错误仍然存在。
当前XML位于
之下<entry xmlns="http://www.w3.org/2005/Atom"
xmlns:gsx="http://schemas.google.com/spreadsheets/2006/extended">
<title>A Title</title>
<rowCount>3</rowCount>
<gsx:Title>A Title</gsx:Title>
<gsx:Name>A Name</gsx:Name>
<gsx:Email>An email</gsx:Email>
<gsx:Phone>A phone</gsx:Phone>
</entry>
文档没有说明必填字段或行数。谁知道我做错了什么?
答案 0 :(得分:5)
让它工作,这里是a Gist with all of my scripts。从您的网址看,您可能正在发布到add a worksheet端点而不是add a list row端点。工作表端点需要您title
和rowCount
。你想要的是一个看起来像
https://spreadsheets.google.com/feeds/list/$spreadsheet_id/$worksheet_id/private/full
我设置a spreadsheet以测试三列:
当我测试auth并阅读时,我用Apple, Red, Medium
播种了它(哈!),然后使用此cURL命令添加了Orange, Orange, Medium
:
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
是从https://www.google.com/accounts/ClientLogin
$spreadsheet_id
是网址中显示的ID或从https://spreadsheets.google.com/feeds/spreadsheets/private/full
$worksheet_id
是从https://spreadsheets.google.com/feeds/worksheets/$spreadsheet_id/private/full
获取的工作表(整个文档中的一个工作表/标签页)。我没有在UI中看到任何可见的工作表ID。和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 -->
错误看到了。
<form id="taskitem_form" method="post" action="">
{% csrf_token %}
{{form}}
<input type="submit" name="submit" value="Add Task" class ="btn btn-primary" />
</form>
答案 1 :(得分:2)
我只是使用错误的网址 - 而不是使用rel =“http://schemas.google.com/g/2005#post”引用列表供稿链接元素,我引用的是工作表供稿,有一个链接元素具有相同的rel但具有不同的href。
从我收集的内容来看,列表供稿网址和列表供稿POST网址是相同的,这就是我开始混淆的地方。