我正在尝试通过他们的广播 API 与 Urbanairship 交互,以将通知发送到插入到 Azure 表中的 Android 设备。
我在 Azure 上的 JavaScript INSERT 代码如下:
function insert(item, user, request) {
request.execute({
success: function() {
request.respond(statusCodes.OK, item.id);
push();
}
});
}
function push() {
var client = new XMLHttpRequest();
var authen = 'UDQ3N...B'
var url = "https://go.urbanairship.com/api/push/broadcast/";
var data = '{ "android": { "alert": "Hello from Azure!"} }';
client.open("POST", url, true);
client.setRequestHeader('Authorization','Basic ' + authen);
client.setRequestHeader('Content-Type', 'application/json');
client.setRequestHeader('Content-Length', '54');
client.send(data);
}
但是,我没有收到 Urbanairship 的回复。我确信这是 Azure 的问题,因为使用提琴手以下 HTTP 请求有效:
POST https://go.urbanairship.com/api/push/broadcast/ HTTP/1.1
User-Agent: Fiddler
Authorization: Basic UDQ3N...B
Content-Type: application/json
Host: go.urbanairship.com
Content-Length: 54
{ "android": { "alert": "Hello from Urban Airship!"} }
所以本质上,我试图通过 Azure 用 JavaScript 重复这个调用,但没有运气。有什么建议么?