documentation for Google Documents List API,似乎說你可以創建一個本地文件並上傳它。有沒有辦法通過API實際創建和編輯文檔on Google Docs?如何以編程方式在Google文檔中創建文檔?
回答
雖然the docs稱之爲「上傳」,一切都歸結爲發送格式正確HTTP POST
要求,所以當然的它實際上是一個新的創造,而不是實際的,否則現有文件的「上傳」。 (通過POST
請求的創建與通常描述爲REST API
的請求類似,但實際上REST
通常使用PUT
請求,而不是當然)。
你只需要創建一個上市here代表任何格式的文檔數據的斑點 - 這取決於你的編程語言,最簡單的可能是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
爲其專用API提供可以提供幫助,這不那麼硬每個特定的編程語言任務;例如,在Python,每the docs,該API建議使用ETags
,以避免覆蓋的變化當多個客戶端同時是「上載」(即,在創建或更新文檔)。但是直接準備POST始終是可能的,因爲幾乎REST API被記錄爲協議,這些協議是所有特定於語言的API的基礎。
亞歷克斯的回答毫無疑問是正確的,它引出了一個問題:「我該如何通過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')
這是我在http://code.google.com/p/gdata-python-client/source/browse/tests/gdata_tests/docs/service_test.py發現技術小混搭,我又經由this post發現Google Group for GData Docs API。
的重要見解(我反正)分別爲:
- 意識到了MediaSource的構造函數的形參「file_handle」將採取任何類似文件的對象,並
- 發現(如OP的隨訪到谷歌集團後提到),該單元測試的例子
的重要來源(我是不是能找到Python特定的開發者指南由亞歷克斯的文檔鏈接引用的 - 可能已遺失或埋在谷歌的移動文件a從code.google.com發送到developers.google.com。亞歷克斯的鏈接會重定向至更通用的文件,顯示大部分爲.NET和Java的例子,但只有一點點的Python)。
嗨@Hephaestus感謝您的信息 - 上面是使谷歌電子表格 - 但是一個人如何可以編程方式創建一個谷歌文件? – BKSpurgeon 2017-04-28 16:10:20
- 1. 在Google文檔中以編程方式創建錨定評論
- 2. 如何以編程方式上傳Google文檔上的文檔?
- 3. 以編程方式下載Google文檔?
- 4. Java以編程方式創建並保存Google文檔
- 5. 以編程方式在SharePoint文檔庫中添加/創建新文檔
- 6. 如何以編程方式操作本地Google文檔文件
- 7. 如何通過模板以編程方式創建Word文檔
- 8. 以可編程方式在可可中創建新文檔
- 9. 以編程方式在文檔庫中搜索特定文檔
- 10. 如何在Google文檔中創建新文檔
- 11. Google App Engine - 文檔編輯器創建/使用Google文檔?
- 12. SharePoint:在文檔庫之間以編程方式移動文檔
- 13. Google Drive SDK:以編程方式固定Google文檔修訂
- 14. Android:以編程方式獲取Google文檔文件
- 15. 以編程方式將文件上傳到Google文檔
- 16. 以編程方式創建Word(.docx)文檔使用docx4j
- 17. 使用XSD以編程方式創建XML文檔
- 18. 以編程方式創建Word 2010文檔
- 19. 如何使用genshi.builder以編程方式構建HTML文檔?
- 20. 以編程方式訪問Word 2007文檔的文檔屬性
- 21. 以編程方式設置文檔庫的文檔模板
- 22. 以編程方式打印文檔
- 23. 以編程方式打印HTML文檔
- 24. 以編程方式比較word文檔
- 25. 以編程方式生成Excel文檔
- 26. 以編程方式打印PDF文檔
- 27. 以編程方式更新excel文檔
- 28. 如何以編程方式在c中搜索PDF文檔#
- 29. 如何以編程方式將文檔保存在OpenOffice.org中?
- 30. 如何以編程方式在SharePoint中下載文檔?
除非你犯了一個機器人和驗證到谷歌文檔訪問UI,我不認爲這是可能的沒有過分的黑客。在本地修改然後上傳會更簡單。 – 2010-04-24 15:10:33
真正的問題.... – 2014-05-28 12:40:09