2014-04-24 4 views
0

Я использую Flask для запуска бэкэнд-сервера python для приложения Android. Я попытался отправить сообщение с помощью Google gcm через HTTP, и я получил такой результат.Python - Android gcm-клиент не работает (MismatchSenderId)

"{\"multicast_id\":856748271326331XXXX,\"success\":0,\"failure\":1,\"canonical_ids\":0,\"results\":[{\"error\":\"MismatchSenderId\"}]}" 

Я был уверен, что мой ключ API и SENDER_ID совпадают с информацией о пользователе. Я дважды проверил SENDER_ID на консоли разработчика Google, и он был таким же, как и в приложении Android.

SENDER_ID - 32421541XXXX

Вот сценарий питона, который я использовал

import urllib2 
import json 

url = 'https://android.googleapis.com/gcm/send' 
apiKey = 'XXXXXXXX2NWz5YKiWCqJYXYdbKO2QXXXXXXX' # my api key 
myKey = "key=" + apiKey 
regid = 'XXXXXXXXXo4wBhGqAIZGG0Ncx4Oll1Vz4eO_f9e0maGrEmM-bU-KY3BXDQhRZI54Xlh-B6m7G679uzAE0bM1MVTgOcJwpuF-hQm3Jfz4K8ROXwonaGmzg-XXXXXXXXXXXXXX' 

# make header 
headers = {'Content-Type': 'application/json', 'Authorization': myKey} 

# make json data 
data = {} 
data['registration_ids'] = (regid,) 
data['data'] = {'data':'i love changong'} 
json_dump = json.dumps(data) 
# print json.dumps(data, indent=4) 

req = urllib2.Request(url, json_dump, headers) 
result = urllib2.urlopen(req).read() 
return json.dumps(result) 

вы видите, почему я получил эту ошибку? Спасибо.

ответ

Смежные вопросы