我从后端发送POST请求,但是我收到了401身份验证错误 .

我发送:

Parse.Cloud.httpRequest({
   method: 'POST',
   url: 'https://android.googleapis.com/gcm/send',
   headers: {
      'Authorization': 'key=AIz...',
      'Content-Type': 'application/json'
   },
   body: {
      "to": REG_TOKEN,
      "collapse_key": "notif",
      "notification": {
          "title": "Notification",
          "body": "this is a noisy test"
      }
   },
   success: function (httpResponse) {
        console.log(httpResponse.text);
   },
   error:function (httpResponse) {
        console.error('Request failed with response code ' + httpResponse.status);
   }
});

AIz ...是我的服务器密钥 .

我明白了:

Request failed with response code 401
<HTML>
<HEAD>
<TITLE>Unauthorized</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Unauthorized</H1>
<H2>Error 401</H2>
</BODY>
</HTML>

我已经遵循了所有的故障排除步骤,但我仍然无法解决这个问题 . 问题如下:

授权错误

您尝试用于发送邮件的发件人帐户无法通过身份验证 . 可能的原因是:

  • 缺少授权标头或语法无效 .

  • 作为密钥发送的项目编号无效 .

  • 密钥有效但GCM服务已禁用 .

  • 请求源自服务器密钥IP中未列入白名单的服务器 .

我在我的 Headers 中有身份验证,我使用GCM的服务器密钥,服务已启用,并且密钥当前不受限制以进行测试,因此不需要白名单 .

任何建议都将非常感激 .