2015-10-01 23 views
3

我試圖通過Parse將推送通知從我們的python後端發送到iOS移動應用程序。 iOS端的所有內容都已配置,但是當我向Parse API發出請求時,我得到一個401 Unauthorized響應。在401中發送Push Through Parse API結果未授權

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 
+0

請求主體,而不是傳遞的url,是什麼'r.text'說

  • 頭需要Content-Type : application/json爲POST(使用httplib的解析例子兩者)? – postelrich

  • +0

    'u'{「error」:「未授權」} \ n'' – apardes

    +0

    您未在標頭中發送應用ID https://www.parse.com/docs/rest/guide#push-notifications-sending-推 –

    回答

    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' 
    

    使用requests函數而不是httplib的Python和Parse.com我們需要的是在這裏:

    1. 網址需要與HTTPS端口號。在Parse Rest API Docs
    2. Params說已經被作爲編碼