1

我目前正在尝试构建一个与 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')

我已经从这里的示例代码中提取了 client.getDocumentListFeed() 部分代码,甚至在此处的 2LeggedOAuth 部分下使用他们的示例代码尝试了最低限度的方法。(我也尝试过该示例中的 GetDocList() 并出现相同的错误)

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

任何帮助将不胜感激

4

1 回答 1

0

在第一个示例中,他们将其客户端对象分配为gdata.docs.service.DocsService().

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

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

这似乎意味着它gd_client是 type DocsService,而不是DocsClient

于 2015-08-21T14:04:11.937 回答