我目前正在尝试构建一个与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
而没有错误。
任何帮助都会得到很大的帮助
答案 0 :(得分:0)
在第一个示例中,他们将客户对象分配为gdata.docs.service.DocsService()
的返回值。
第二个示例还将client
对象作为DocsService
类型返回:
client = gdata.docs.service.DocsService(source='yourCompany-YourAppName-v1')
这似乎意味着gd_client
类型为DocsService
,而不是DocsClient