在为谷歌文档列表API文档,似乎是说,你可以创建一个本地文件并上传.是否无法通过API 在 Google文档上实际创建和编辑文档?
Ale*_*lli 27
虽然该文档称之为"上传",一切都归结为发送正确格式化的HTTP POST要求,所以当然它实际上是一个新的创造,而不是否则现有文件的一个实际的"上传".(通过POST请求创建类似于通常所描述的REST API,但实际上REST你通常使用PUT请求而不是当然).
您只需要以此处列出的任何格式创建表示文档的数据blob - 根据您的编程语言,最简单的可能是text/csv电子表格和application/rtf文本文档 - 然后输入格式正确的POST数据.例如,要以最简单的方式制作电子表格(无元数据),您可以POST这样:
POST /feeds/default/private/full HTTP/1.1
Host: docs.google.com
GData-Version: 3.0
Authorization: <your authorization header here>
Content-Length: 81047
Content-Type: text/csv
Slug: Example Spreadsheet
ColumnA, ColumnB
23, 45
Run Code Online (Sandbox Code Playgroud)
为其提供专用API的每种特定编程语言可以为这项不那么困难的任务提供帮助; 例如,在Python中,根据文档,API建议使用ETags以避免在多个客户端同时"上载"(即创建或更新文档)时覆盖更改.但是直接准备POST总是可行的,因为几乎REST API被记录为所有特定于语言的API 的协议.
Hep*_*tus 13
亚历克斯的回答虽然无疑是正确的,却引出了一个问题:"我如何通过Google Docs API做到这一点?"
这是一种方式(在Python中,'因为我就是那种人):
import gdata.docs.service
import StringIO
client = gdata.docs.service.DocsService()
client.ClientLogin(username, password,
source='Spreadsheet Creation Example')
content = 'COL_A, COL_B, COL_C, COL_D\ndata1, data2, data3, data4'
ms = gdata.MediaSource(file_handle=StringIO.StringIO(content),
content_type='text/csv',
content_length=len(content))
entry = client.Upload(ms, 'Test Spreadsheet')
Run Code Online (Sandbox Code Playgroud)
这是我在http://code.google.com/p/gdata-python-client/source/browse/tests/gdata_tests/docs/service_test.py中找到的一种小型混搭技术,我通过此发现从Google Group 发布 GData Docs API.
关键见解(对我来说无论如何)是:
(我无法找到Alex的文档链接引用的特定于Python的开发人员指南 - 可能是因为Google将文档资产从code.google.com迁移到developers.google.com而丢失或埋没.Alex的链接现在重定向更通用的文档,主要显示.NET和Java示例,但只有一点Python.)
| 归档时间: |
|
| 查看次数: |
27711 次 |
| 最近记录: |