【问题标题】:GCM Unauthorized Error 401GCM 未经授权的错误 401
【发布时间】:2015-10-14 15:54:51
【问题描述】:

即使我提供了 google 生成的正确服务器 API 密钥,我也无法从 GCM 获得响应。

问题:我想从我的 Sails 应用程序中使用 GCM 进行推送通知。 我将以下代码发布到“https://android.googleapis.com/gcm/send

代码:1

{
  "headers":{
    "Content-Type":"application/json",
    "Authorization":"key=xxxxxxxxxxxxxxxxxxxx"
  },
 "notification":{
   "title":"Hello Notify",
   "text":"Notification By Sails"
 },
 "registration_ids":["xxxxxxxxxxxx","xxxxxxxxxxxx","xxxxxxxxxxxx"]
}

代码:2

{
  "headers":{
    "Content-Type":"application/json",
    "Authorization":"key=xxxxxxxxxxxxxxxxxxxx"
  },
 "body":{
   "notification":{
      "title":"Hello Notify",
      "text":"Notification By Sails"
    }
  },
 "registration_ids":["xxxxxxxxxxxx","xxxxxxxxxxxx","xxxxxxxxxxxx"]
}

我收到如下回复。

"statusCode": 401,
"body": "<HTML>\n
           <HEAD>\n<TITLE>Unauthorized</TITLE>\n</HEAD>\n
           <BODY BGCOLOR=\"#FFFFFF\" TEXT=\"#000000\">\n
               <H1>Unauthorized</H1>\n
               <H2>Error 401</H2>\n
           </BODY>\n
         </HTML>\n",

【问题讨论】:

    标签: google-cloud-messaging sails.js


    【解决方案1】:

    标头应该是 HTTP 标头,而不是负载中的元素。

    【讨论】:

    • 这里的示例应该更符合您想要实现的目标:code.runnable.com/U4kVi8yKO58ptG0l/…
    • @DebuggerCoder curl -X POST --header "Content-Type:application/json" --header "Authorization:key=AIzaXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" "android.googleapis.com/gcm/send" --data-ascii '{"通知":{"body":"yyy"},"to":"XXXXXXXXXX:YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY-ZZZZZZZZZZZZZZZZZZZZ"}'
    • @DebuggerCoder 也使用“body”属性而不是“text”
    【解决方案2】:

    确保您在 Cloud Console 中启用了正确的 API。如果使用服务器 API 密钥发送,您需要启用“Google Cloud Messaging for Android”。

    【讨论】:

      猜你喜欢
      • 2014-02-26
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-19
      相关资源
      最近更新 更多