来自Parse.com的简单GET请求给出了401

时间:2016-01-10 21:25:04

标签: python parse-platform

我已经注册了Parse.com,因为我正在考虑使用它来存储我正在制作的应用程序的数据。

我创建了一个名为Player的简单类,我直接通过Parse.com网站添加了一个播放器。

我试图编写一些python来查询Parse.com以返回我的播放器,但我收到的回复是:{"error":"unauthorized"}

我对此有点困惑。这是我的代码:

import json, httplib

conn = httplib.HTTPSConnection('api.parse.com', 443)

conn.connect()

conn.request('GET', '/1/classes/Player', json.dumps({"X-Parse-Application-id":"APP ID", "X-Parse-REST-API-Key":"REST KEY", "Content-Type":"application/json"}))

print conn.getresponse().read()

conn.close()

如果有人能给我任何指示,我将非常感激。

1 个答案:

答案 0 :(得分:1)

直接从REST API queries文档中复制:

import json, httplib
connection = httplib.HTTPSConnection('api.parse.com', 443)
connection.connect()
connection.request('GET', '/1/classes/Player', '', {
       "X-Parse-Application-Id": "${APPLICATION_ID}",
       "X-Parse-REST-API-Key": "${REST_API_KEY}"
     })
result = json.loads(connection.getresponse().read())
print result

应将app id和key作为标题通过第4个参数传递给connection.request(而不是代码中的第3个参数)。它们 JSON编码。注意在第3个参数中传递的空字符串('')作为请求的主体。

或者,使用requests模块:

import requests

headers = {"X-Parse-Application-Id": "${APPLICATION_ID}",
           "X-Parse-REST-API-Key": "${REST_API_KEY}"}
r = requests.get('https://api.parse.com/1/classes/Player', headers=headers)
result = r.json()