3

所以我正在尝试 Azure 上的通知中心。

我已经根据这篇博文进行了设置。我已经在我的 Android 代码中完成了 GCM 设置,所以我有一个有效的 regId:

String connectionString = "Endpoint=sb://<MYNAMESPACE>.servicebus.windows.net/;SharedAccessKeyName=DefaultListenSharedAccessSignature;SharedAccessKey=<MYKEY>";
hub = new NotificationHub("<MYHUB>", connectionString, this);
hub.register(regid, "myTag");

所以我得到:

com.microsoft.windowsazure.messaging.NotificationHubUnauthorizedException:未经授权

在 hub.register 方法调用上。

有任何想法吗?

4

3 回答 3

1

不幸的是,管理门户中有一个错误会破坏 NH 授权规则。很快就会解决的。同时,您可以使用以下代码从控制台应用程序和服务总线预览 dll创建一个新的 NH:

NamespaceManager mgr = NamespaceManager.CreateFromConnectionString("<connection string from your namespace>");
var hub = new NotificationHubDescription("myhub");
hub.GcmCredential = new GcmCredential("<your Google API Key>");
mgr.CreateNotificationHub(hub);

确保通过以下方式使用从门户检索的连接字符串:1) 单击左侧窗格上的服务总线 2) 在右侧窗格中,选择您的命名空间,然后单击连接信息 3) 复制 RootAccess 的连接字符串,如下所示:

在此处输入图像描述

带来不便敬请谅解。

于 2013-06-19T22:29:31.703 回答
1

这个问题现在已经解决了。使用管理门户管理您的通知中心。如果 Notification Hub 上不存在授权规则,则在门户中添加规则并复制相应的连接字符串以与 Notification Hub android API 一起使用。

于 2013-07-01T23:22:14.167 回答
0

此问题的另一个根本原因是系统日期时间。

哪个没有设置正确的时区,你会得到这个异常。

于 2020-06-24T03:55:48.730 回答