मैं जीसीएम (Google क्लाउड मैसेजिंग) के माध्यम से एक संदेश भेजने की कोशिश कर रहा हूं। मैंने Google एपीआई के माध्यम से पंजीकरण किया है, मैं कई एंड्रॉइड टेस्ट फोन से अपनी वेबसाइट (जो एक Google ऐप इंजन बैकएंड है) में एक रेजीआईडी भेज सकता हूं। हालांकि, मैं Google App Engine से जीसीएम को कुछ भी नहीं भेज सकता। यहां मैं उपयोग करने की कोशिश कर रहा हूं।Google क्लाउड मैसेजिंग HTTP त्रुटि 400: खराब अनुरोध
regId = "APA91b..."
json_data = {"collapse_key" : "Food-Promo", "data" : {
"Category" : "FOOD",
"Type": "VEG",
}, "registration_ids": [regId],
}
url = 'https://android.googleapis.com/gcm/send'
apiKey = "AI..."
myKey = "key=" + apiKey
headers = {'Content-Type': 'application/json', 'Authorization': myKey}
data = urllib.urlencode(json_data)
data2 = {"title": title}
data3 = urllib.urlencode(data2)
req = urllib2.Request(url, data, headers)
f = urllib2.urlopen(req)
response = f.read()
f.close()
logging.debug("***!!!!!!!WriteEntry TEST ----- Response: " + response)
और यहां त्रुटि है जो मुझे प्राप्त हो रही है।
Traceback (most recent call last):
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/_webapp25.py", line 703, in __call__
handler.post(*groups)
File "/base/data/home/apps/s~journaltestza/26.360625174851783344/main.py", line 213, in post
f = urllib2.urlopen(req)
File "/base/python_runtime/python_dist/lib/python2.5/urllib2.py", line 124, in urlopen
return _opener.open(url, data)
File "/base/python_runtime/python_dist/lib/python2.5/urllib2.py", line 387, in open
response = meth(req, response)
File "/base/python_runtime/python_dist/lib/python2.5/urllib2.py", line 498, in http_response
'http', request, response, code, msg, hdrs)
File "/base/python_runtime/python_dist/lib/python2.5/urllib2.py", line 425, in error
return self._call_chain(*args)
File "/base/python_runtime/python_dist/lib/python2.5/urllib2.py", line 360, in _call_chain
result = func(*args)
File "/base/python_runtime/python_dist/lib/python2.5/urllib2.py", line 506, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 400: Bad Request
धन्यवाद!
आप जेसन और सादे टेक्स्ट प्रारूपों के संयोजन का उपयोग कर रहे हैं। एक चुनें। http://developer.android.com/guide/google/gcm/gcm.html#server – Albert