【问题标题】:Sending Push Through Parse API Results in 401 Unauthorized通过 Parse API 发送推送导致 401 Unauthorized
【发布时间】:2015-12-29 22:19:42
【问题描述】:

我正在尝试通过 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

【问题讨论】:

标签: python ios rest parse-platform python-requests


【解决方案1】:
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. 标题需要Content-Type : application/json 用于POST,如Parse Rest API Docs 中所述
  3. Params 必须作为请求正文而不是 url 编码传递

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-04
    • 1970-01-01
    • 2014-12-17
    • 2014-12-02
    相关资源
    最近更新 更多