python - 通过 Parse API 发送推送导致 401 Unauthorized

标签 python ios rest parse-platform python-requests

我正在尝试通过 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 需要什么:

  1. URL 需要带 https 的端口号。 (取自使用 httplib 的解析示例)
  2. header 需要 Content-Type : application/json 用于 POST,如 Parse Rest API Docs 中所述
  3. Params 必须作为请求体传递而不是 url 编码

关于python - 通过 Parse API 发送推送导致 401 Unauthorized,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32894740/

相关文章:

ios - 相当于一个M文件的storyboard是什么

html - 使用 Cordova 格式化 iOS

spring - Grails Rest Client Builder 抛出 OperationNotSupported

python - 即使文件夹存在,os.path.isdir() 也会返回 False

python - Jinja2 在 HTML 中使用图像

python - 是否可以区分类函数 __add__ 中的运算符 += 和 +?

json - 在 Angular4 中将嵌套 JSON 响应设置为 ag-grid 的 rowdata

python - 解析出第二个分隔数据结构

ios - 无法读取规范“GoogleDataTransport(3.2.0)”的许可文件“LICENSE”

node.js - 如何使用 API key 保护 REST API