Parse platform 为什么我总是得到一个“a”;请求失败,响应代码为401“;当试图通过城市飞艇推进时?

Parse platform 为什么我总是得到一个“a”;请求失败,响应代码为401“;当试图通过城市飞艇推进时?,parse-platform,urbanairship.com,Parse Platform,Urbanairship.com,我已经检查了双钥匙、三钥匙和四钥匙,确认我传递的主钥匙正确。我的参数是直接从UA网站获取的,所以不可能是这样。有人知道我做错了什么吗 Parse.Cloud.define("sendPush", function(request, response) { var Buffer = require('buffer').Buffer; var parameters = { "audience" : "all", "device_types" : "all",

我已经检查了双钥匙、三钥匙和四钥匙,确认我传递的主钥匙正确。我的参数是直接从UA网站获取的,所以不可能是这样。有人知道我做错了什么吗

Parse.Cloud.define("sendPush", function(request, response) {

  var Buffer = require('buffer').Buffer;

  var parameters = {
    "audience" : "all",
     "device_types" : "all",
     "notification" : {
         "alert" : "Hello from Urban Airship."
     }
  };

  var params = JSON.stringify(parameters);

  Parse.Cloud.httpRequest({
    url: "https://go.urbanairship.com/api/push/",
    method: 'POST',
    headers: {
        "Content-Type" : "application/json",
        "Authorization" : 'Basic ' + new Buffer('MASTER_KEY').toString('base64'),
        "Accept" : "application/vnd.urbanairship+json; version=3;"
    },
    body: params,
    success: function(httpResponse) {
        response.error(httpResponse);
    },
    error: function(httpResponse) {
      response.error('Request failed with response code ' + httpResponse.status);
    }
  });

});
我还尝试在APP_SECRET中添加:

"Authorization" : 'Basic ' + new Buffer('APP_SECRET':'MASTER_KEY').toString('base64'),

您的代码示例不清楚您是否在请求中包含应用程序密钥。对城市飞艇的API请求使用HTTP基本身份验证。用户名部分是应用程序密钥,密码部分在本例中是主密钥。应用程序机密仅限于较低安全性的API,并用于分布式应用程序。发送消息和其他服务器API请求时需要主密钥


城市飞艇为我们提供了一个指南。

我也遇到了同样的问题,两天多来我一直试图通过网络诊断工具来解决这个问题。因为在调试之后,我检查了我是否向UA发送了正确的凭据。毕竟,我打电话给UA,让他们检查凭证(在我的例子中是appKey和appToken,用于使用java connect API进行流式处理)是否仍然有效。他们检查并批准了验证,但以防万一,他们给我发了一份新的凭证。我可以连接到新的凭据

这肯定是UA的一个错误,因为我一直在用另一个测试应用程序测试,这是一个桌面java应用程序,我可以连接到服务器(使用相同的appKey和appToken)并获取事件,但我在我的主应用程序中得到了401个错误,这是一个运行在TomCat 8.0上的Web应用程序。这意味着它在同一时间使用同一凭证为一个应用程序工作,而不为另一个应用程序工作

是的,我已经阅读并重新阅读了所有故障排除解决方案,并尝试了所有解决方案以及“授权”字段的许多其他变体和组合,但似乎没有任何效果。我可以很容易地从UA网站推送,但是这个解析服务器端代码似乎无法获得正确的授权。我已经走到了死胡同,重新考虑我的方法。