我有一个脚本可以读取 Freebase 数据,但它突然停止工作。它输出以下错误:
AttributeError: 'Resource' object has no attribute 'mqlread'
所以我尝试了谷歌文档中的示例代码,
from apiclient import discovery
from apiclient import model
import json
DEVELOPER_KEY = 'my_key'
model.JsonModel.alt_param = ""
freebase = discovery.build('freebase', 'v1', developerKey=DEVELOPER_KEY)
query = [{'id': None, 'name': None, 'type': '/film/film'}]
def do_query(cursor=""):
response = json.loads(freebase.mqlread(query=json.dumps(query), cursor=cursor).execute())
for item in response['result']:
print item['name']
return response.get("cursor")
cursor = do_query()
while(cursor):
cursor = do_query(cursor)
我得到了同样的错误...... mqlread 方法已经消失,当我这样做时,我也dir(freebase)
得到了这个:
['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__getstate__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setstate__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_add_basic_methods', '_add_nested_resources', '_add_next_methods', '_baseUrl', '_developerKey', '_dynamic_attrs', '_http', '_model', '_requestBuilder', '_resourceDesc', '_rootDesc', '_schema', '_set_dynamic_attr', '_set_service_methods', u'reconcile', u'search', u'search_media']
他们是否在新版本的 API 客户端中删除了此功能?我正在使用 1.2 版的 google-api-python-client