用于Google Docs API的Python客户端中的查询收集内容

时间:2012-04-12 07:46:57

标签: google-docs-api

如何使用Google Docs API的Python客户端查询特定集合的内容? 这是我走了多远:

client = gdata.docs.service.DocsService()
client.ClientLogin('myuser', 'mypassword')

FOLDER_FEED1 = "/feeds/documents/private/full/-/folder"
FOLDER_FEED2 = "/feeds/default/private/full/folder%3A"

feed    = client.Query(uri=FOLDER_FEED1 + "?title=MyFolder&title-exact=true")
full_id = feed.entry[0].resourceId.text
(res_type, res_id) = full_id.split(":")

feed    = client.Query(uri=FOLDER_FEED2 + res_id + "/contents")

for entry in feed.entry:.
    print entry.title.text

Client.Query的第一次调用成功,似乎提供了有效的资源ID。然而,第二次调用返回:

{'status': 400, 'body': 'Invalid request URI', 'reason': 'Bad Request'}
  • 如何纠正此问题以使其正常工作?

1 个答案:

答案 0 :(得分:1)

一旦有了文件夹条目,就可以更容易地调用client.GetResources(entry.content.src)而不是自己生成URI并使用查询。

在您的情况下,client.GetResources(feed.entry[0].content.src)