5

使用 Google Document API,我正在尝试创建新文档,并在我的 Google Documents 的特定文件夹中提供所有当前文档的列表。我从 python 开发开始,所以我还是有点粗糙。

我想做的事情:

  1. 仅当名称尚不存在时才创建名称为 [文件夹名称] 的集合(或文件夹)
  2. 在 [文件夹名称] 中创建一个文档
  3. 仅从 [Folder Name] 获取文档列表以及指向文档本身的链接

我相信我正在使用 Google Docs API 3.0 并且正在为 python 使用gdata-2.0.16助手。

到目前为止的代码:

    导入 gdata.docs.data
    导入 gdata.docs.client

    类 SampleConfig(对象):
        APP_NAME = 'GDataDocumentsListAPISample-v1.0'
        调试 = 假

    客户端 = gdata.docs.client.DocsClient()
    client.ClientLogin('[email_address]','[password]',source=SampleConfig.APP_NAME )

    col = gdata.docs.data.Resource(type='文件夹', title='文件夹名称')
    col = client.CreateResource(col)

    doc = gdata.docs.data.Resource(type='document', title='我做了这个')
    doc = client.CreateResource(doc, collection=col)

所以现在开始讨论问题:我陷入绝望的地方:

  1. 如何检查 [文件夹名称] 是否存在?
  2. 如何检索仅 [文件夹名称] 的内容?
  3. 如何获取我在此文件夹中创建的所有文档的绝对链接?

我知道我离完成这里还很遥远,但是您可以提供的任何帮助或建议都会很棒。

提前致谢!

4

1 回答 1

3

您可以查询文件夹或文档。拥有文件夹后,您可以列出其内容。以下是 Python 库的示例:

# Create a query matching exactly a title, and include collections
q = gdata.docs.client.DocsQuery(
    title='EFD',
    title_exact='true',
    show_collections='true'
)

# Execute the query and get the first entry (if there are name clashes with
# other folders or files, you will have to handle this).
folder = client.GetResources(q=q).entry[0]

# Get the resources in the folder
contents = client.GetResources(uri=folder.content.src)

# Print out the title and the absolute link
for entry in contents.entry:
    print entry.title.text, entry.GetSelfLink().href

输出

My posted doc https://docs.google.com/...
subtestcoll2 https://docs.google.com/...
guestimates_1 https://docs.google.com/...
phase 2 delivery plan - draft https://docs.google.com/...
Meeting agenda June 09 https://docs.google.com/...
Phase 2 spec for Graeme 2 March 2009 https://docs.google.com/...
EFD Meeting 2nd June https://docs.google.com/...
于 2012-04-09T13:21:00.773 回答