如何从 Postman 向 android 设备发送 Ms Azure 推送通知
How to send Ms Azure push notifications to android device from Postman
我正在尝试使用 Postman 将 Azure 推送通知发送到 android 设备。为了实现这一点,我在 microsoftDocs 中看到了 post,但是文档说 This API 还不支持 Firebase Cloud Messaging (FCM)。 有吗使用 MsAzure
从 postman 发送 FCM 推送通知的任何方式
终于找到解决方案
URL
https://{namespace}.servicebus.windows.net/{NotificationHub}/messages/?api-version=2015-01
参数
Headers
Authorization {{azure-authorization}}
Content-Type application/json
ServiceBusNotification-Format gcm
Body(Body根据你的情况而定,无需维护如下)
{"data":{"gcm.notification.body":"Hi", "gcm.notification.title":"Hi"}}
Pre-request 脚本
function getAuthHeader(resourceUri, keyName, key) {
var d = new Date();
var sinceEpoch = Math.round(d.getTime() / 1000);
var expiry = (sinceEpoch + 3600);
var stringToSign = encodeURIComponent(resourceUri) + '\n' + expiry;
var hash = CryptoJS.HmacSHA256(stringToSign, key);
var hashInBase64 = CryptoJS.enc.Base64.stringify(hash);
var sasToken = 'SharedAccessSignature sr=' + encodeURIComponent(resourceUri) + '&sig=' + encodeURIComponent(hashInBase64) + '&se=' + expiry + '&skn=' + keyName;
console.log(sasToken);
alert(sasToken);
return sasToken;
}
postman.setEnvironmentVariable('azure-authorization', getAuthHeader(request.url,"DefaultFullSharedAccessSignature", "xxxxxxxxxxxxxxxxxxxxxx"));
postman.setEnvironmentVariable('current-date',new Date().toUTCString());
在上面的代码(Pre-request 脚本)中,我们必须按照以下步骤更新 DefaultFullSharedAccessSignature
转到 Azure 门户 |访问政策 |复制 DefaultFullSharedAccessSignature 并将一些内容粘贴到 |从那里复制 SharedAccessKey
图片供参考
我正在尝试使用 Postman 将 Azure 推送通知发送到 android 设备。为了实现这一点,我在 microsoftDocs 中看到了 post,但是文档说 This API 还不支持 Firebase Cloud Messaging (FCM)。 有吗使用 MsAzure
从 postman 发送 FCM 推送通知的任何方式终于找到解决方案
URL
https://{namespace}.servicebus.windows.net/{NotificationHub}/messages/?api-version=2015-01
参数
Headers
Authorization {{azure-authorization}} Content-Type application/json ServiceBusNotification-Format gcm
Body(Body根据你的情况而定,无需维护如下)
{"data":{"gcm.notification.body":"Hi", "gcm.notification.title":"Hi"}}
Pre-request 脚本
function getAuthHeader(resourceUri, keyName, key) { var d = new Date(); var sinceEpoch = Math.round(d.getTime() / 1000); var expiry = (sinceEpoch + 3600); var stringToSign = encodeURIComponent(resourceUri) + '\n' + expiry; var hash = CryptoJS.HmacSHA256(stringToSign, key); var hashInBase64 = CryptoJS.enc.Base64.stringify(hash); var sasToken = 'SharedAccessSignature sr=' + encodeURIComponent(resourceUri) + '&sig=' + encodeURIComponent(hashInBase64) + '&se=' + expiry + '&skn=' + keyName; console.log(sasToken); alert(sasToken); return sasToken; } postman.setEnvironmentVariable('azure-authorization', getAuthHeader(request.url,"DefaultFullSharedAccessSignature", "xxxxxxxxxxxxxxxxxxxxxx")); postman.setEnvironmentVariable('current-date',new Date().toUTCString());
在上面的代码(Pre-request 脚本)中,我们必须按照以下步骤更新 DefaultFullSharedAccessSignature
转到 Azure 门户 |访问政策 |复制 DefaultFullSharedAccessSignature 并将一些内容粘贴到 |从那里复制 SharedAccessKey
图片供参考