我正在尝试通过 Parse 将推送通知从我们的 python 后端发送到 iOS 移动应用程序。 iOS 端的所有内容都已配置,但当我向 Parse API 发出请求时,我收到了 401 Unauthorized
响应。
headers = {'X-Parse-REST-API-Key': 'MY_API_KEY', 'X-Parse-Master-Key': 'MY_MASTER_KEY', 'Content-Type': 'content/json', 'X-Parse-Application-Id': 'MY_APPLICATION_ID'}
params = {'channels': ['general'], 'data': {'alert': 'Test push'}}
url = 'http://api.parse.com/1/push'
r = requests.post(url, params = params, headers = headers)
print r.status_code
>> 401
最佳答案
url = "https://api.parse.com:443/1/push"
params = {'channels': ['general'], 'data': {'alert': 'Test push'}}
headers = {"Content-Type": "application/json",
"X-Parse-Application-Id":"APP_ID",
"X-Parse-REST-API-Key":"API_KEY"}
r = requests.post(url, data = json.dumps(params), headers = headers)
r.status_code
>>>200
r.text
>>>u'{"result":true}\n'
在 Python 和 Parse.com 中使用 requests
函数而不是 httplib 需要什么:
- URL 需要带 https 的端口号。 (取自使用 httplib 的解析示例)
- header 需要
Content-Type : application/json
用于 POST,如 Parse Rest API Docs 中所述 Params
必须作为请求体传递而不是 url 编码
关于python - 通过 Parse API 发送推送导致 401 Unauthorized,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32894740/