Python - Android gcm-client无法正常工作(MismatchSenderId)

时间:2014-04-24 17:49:01

标签: android

我使用Flask为Android应用程序运行python后端服务器。我试图通过HTTP使用谷歌gcm发送消息,我得到了这样的结果。

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

我非常确定我的API密钥和SENDER_ID与用户信息匹配。我在Google开发者控制台上仔细检查了SENDER_ID,它与我在Android应用程序中的内容相同。

SENDER_ID - 32421541XXXX

这是我使用的python脚本

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)

你知道为什么我会收到这个错误吗?谢谢。

1 个答案:

答案 0 :(得分:1)

我遵循了这个答案并且有效。我应该再次通过eclipse卸载应用程序并构建应用程序。

https://stackoverflow.com/a/13919215/2986636