使用App引擎在Python服务器上推送通知

我正在为我的android应用程序实现推送通知机制。

现在,我正在尝试进行一个小型测试,以查看是否能够通过Http从python服务器发送推送通知到GCM,并在android客户端中成功接收到该通知。

客户端代码与Google教程中的代码完全相同:http : //developer.android.com/google/gcm/client.html

有一个名为DemoActivity的主要活动,该活动负责注册或检索已经存在的注册ID,还有两个类GcmIntentService和GcmBroadcastReceiver负责处理从GCM服务器到应用程序的消息。

当然,我已经正确设置了SENDER_ID,并且确实设法获得了我的客户端应用程序的注册ID。

现在针对服务器:

在服务器中,我总是收到以下错误:

HTTP Error 401: Unauthorized

这是我的服务器代码:

    url = "https://android.googleapis.com/gcm/send"
    headers = { 'Content-Type' : 'application/json', 'Authorization': 'key=' + SERVER_API_KEY }
    values = { 'registration_ids': [CLIENT_REGID]
    , 'data': {'test': 'test} }


    data = urllib.urlencode(values)
    req = urllib2.Request(url, json.loads(values), headers)
    response = urllib2.urlopen(req)
    the_page = response.read()
    self.response.out.write(the_page)

出于安全原因,我省略了服务器api密钥和客户端注册ID(它们是硬编码的),但我对它们进行了两次和三次检查,它们是正确的。另外,我确保服务器API密钥的格式正确(凭据->创建新密钥->服务器密钥),并确保“允许任何IP”。

我在互联网上找到的所有解决方案都与服务器api或类似错误有关,但我已经检查过。谢谢帮手!

编辑:

在标头中添加了“ key =”,但现在我收到错误的请求错误(HTTP代码400)

另一个编辑:

更改值对象并使用json.loads将其发送,但不是我在客户端出现此错误(意味着它最终从服务器接收到通知!):

Unable to instantiate receiver GcmBroadcastReceiver

有任何想法吗?我照原样从google复制了示例项目,所以我不知道这里出了什么问题。

彼得·克尼戈

身份验证标头应为(注意key=部分):

Authorization:key=<your_key_here>

所以你应该这样设置标题:

headers = { 'Content-Type' : 'application/json', 'Authorization': 'key='+SERVER_API_KEY }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从服务器推送通知

来自分类Dev

在GCM服务器上设置计划的推送通知

来自分类Dev

在 PWA 推送通知上添加服务器参数

来自分类Dev

使用laravel Web服务器上的Parse向Android设备发送推送通知

来自分类Dev

使用 PHP 服务器端在 IONIC 2 上推送通知

来自分类Dev

使用PHP从服务器发送推送通知

来自分类Dev

无法使用服务器API发送推送通知

来自分类Dev

使用FCM从服务器发送推送通知

来自分类Dev

使用Titan与PHP服务器生成iphone推送通知

来自分类Dev

Android如何使用Drupal服务器接收推送通知

来自分类Dev

在服务器上使用rsync推送文件夹

来自分类Dev

服务器上的Vaadin7容器更新-是否使用服务器推送

来自分类Dev

如何在GCM推送通知的服务器端实现上验证注册?

来自分类Dev

APNS的反馈服务(Apple推送通知服务器)

来自分类Dev

使用生产服务器证书将推送通知发送到开发应用程序

来自分类Dev

如何通过使用Swift自己的PHP APNS服务器从推送通知中增加徽章号?

来自分类Dev

如何使用Firebase从服务器向应用程序发送推送通知?

来自分类Dev

使用生产服务器证书将推送通知发送到开发应用程序

来自分类Dev

无法使用godaddy服务器将laravel推送通知发送到ios mobile

来自分类Dev

使用nodejs通过服务器发送设备到设备推送通知

来自分类Dev

Android通过Firebase推送通知(服务器端)

来自分类Dev

ios中推送通知的服务器端问题

来自分类Dev

从服务器到客户端的MVC推送通知

来自分类Dev

从服务器删除已发送的推送通知

来自分类Dev

没有服务器的离子推送通知

来自分类Dev

解析:从自己的服务器发送推送通知

来自分类Dev

苹果开发推送通知服务器地址

来自分类Dev

如何从Cordova中的服务器获取推送通知?

来自分类Dev

PHP CURL-Apple推送通知服务器

Related 相关文章

  1. 1

    从服务器推送通知

  2. 2

    在GCM服务器上设置计划的推送通知

  3. 3

    在 PWA 推送通知上添加服务器参数

  4. 4

    使用laravel Web服务器上的Parse向Android设备发送推送通知

  5. 5

    使用 PHP 服务器端在 IONIC 2 上推送通知

  6. 6

    使用PHP从服务器发送推送通知

  7. 7

    无法使用服务器API发送推送通知

  8. 8

    使用FCM从服务器发送推送通知

  9. 9

    使用Titan与PHP服务器生成iphone推送通知

  10. 10

    Android如何使用Drupal服务器接收推送通知

  11. 11

    在服务器上使用rsync推送文件夹

  12. 12

    服务器上的Vaadin7容器更新-是否使用服务器推送

  13. 13

    如何在GCM推送通知的服务器端实现上验证注册?

  14. 14

    APNS的反馈服务(Apple推送通知服务器)

  15. 15

    使用生产服务器证书将推送通知发送到开发应用程序

  16. 16

    如何通过使用Swift自己的PHP APNS服务器从推送通知中增加徽章号?

  17. 17

    如何使用Firebase从服务器向应用程序发送推送通知?

  18. 18

    使用生产服务器证书将推送通知发送到开发应用程序

  19. 19

    无法使用godaddy服务器将laravel推送通知发送到ios mobile

  20. 20

    使用nodejs通过服务器发送设备到设备推送通知

  21. 21

    Android通过Firebase推送通知(服务器端)

  22. 22

    ios中推送通知的服务器端问题

  23. 23

    从服务器到客户端的MVC推送通知

  24. 24

    从服务器删除已发送的推送通知

  25. 25

    没有服务器的离子推送通知

  26. 26

    解析:从自己的服务器发送推送通知

  27. 27

    苹果开发推送通知服务器地址

  28. 28

    如何从Cordova中的服务器获取推送通知?

  29. 29

    PHP CURL-Apple推送通知服务器

热门标签

归档