AttributeError:'DocsClient'对象没有属性'GetDocumentListFeed'

时间:2015-08-21 13:42:07

标签: python google-drive-api gdata google-docs-api gdata-python-client

我目前正在尝试构建一个与Google的API交互的脚本,但我一直收到属性错误:

Traceback (most recent call last):
  File "service_catalog_automation.py", line 18, in <module>
    feed = client.GetDocumentListFeed()
AttributeError: 'DocsClient' object has no attribute 'GetDocumentListFeed'

这是我正在尝试使用的代码

import gdata.gauth
import gdata.docs.client
import sys

def sys_print(text):
    sys.stdout.write(str(text))
    sys.stdout.flush()

CONSUMER_KEY = 'domain.com'
CONSUMER_SECRET = 'abcde1234'
requestor_id = 'myuser@domain.com'

client = gdata.docs.client.DocsClient(source='my-script-v1')
client.auth_token = gdata.gauth.TwoLeggedOAuthHmacToken(
    CONSUMER_KEY, CONSUMER_SECRET, requestor_id)

# Retrieve user's list of Google Docs
feed = client.GetDocumentListFeed()
for entry in feed.entry:
    sys_print(entry.title.text)
    sys_print('\n')

我从他们的示例代码here中提取了client.getDocumentListFeed()部分代码,甚至尝试了使用2LeggedOAuth部分here下的示例代码的最小方法。 (我也尝试过该示例中的GetDocList()并出现相同的错误)

我已将Google的gdata-python-client下载到linux vm的主目录,并通过运行python setup.py install安装它并运行测试python all_tests.py而没有错误。

任何帮助都会得到很大的帮助

1 个答案:

答案 0 :(得分:0)

在第一个示例中,他们将客户对象分配为gdata.docs.service.DocsService()的返回值。

第二个示例还将client对象作为DocsService类型返回:

client = gdata.docs.service.DocsService(source='yourCompany-YourAppName-v1')

这似乎意味着gd_client类型为DocsService,而不是DocsClient