使用Python访问API

时间:2013-05-03 03:42:09

标签: python api

我正在尝试从API检索数据而我正在接收

'set'对象没有属性'items'

这是我的api.py,我已将其导入我的观点

import json
import urllib
import urllib2
import pycurl

def get_resources(request, filter, endpoint, lookup):
    headers = {'X-Auth-Token:%s' % request.user.token, 'Content-Type:application/json'}
    data = urllib.urlencode(filter)
    url = endpoint+lookup
    req = urllib2.Request(url, data, headers)
    response = urllib2.urlopen(req)
    result = json.loads(response.read())
    return result

和我的views.py就像这样

def indexView(request):
    resources = json.dumps(get_resources(request,{}, api_endpoint, '/v2/meters'))
    return HttpResponse(resources, mimetype='application/json')

我知道我在这里做错了,我希望有人可以帮助我。

2 个答案:

答案 0 :(得分:2)

该行:

headers = {'X-Auth-Token:%s' % request.user.token,
           'Content-Type:application/json'}

定义set。它应该是一个字典(在:之前的某个地方有:之后}

答案 1 :(得分:0)

尝试类似的东西:

headers = {'X-Auth-Token': request.user.token, 'Content-Type': 'application/json'}