NotificationHubUnauthorizedException:Azure Notification Hub注册时未经授权

时间:2013-06-16 18:15:10

标签: azure azureservicebus azure-notificationhub

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

我根据this blog post进行了设置。 我在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方法调用上。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

不幸的是,管理门户中存在一个破坏NH授权规则的错误。它很快就会得到解决。在此期间,您可以使用以下代码从Console App和Service Bus preview 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的连接字符串,如下所示:

enter image description here

很抱歉给您带来不便。

答案 1 :(得分:1)

此问题现已解决。使用管理门户管理通知中心。如果Notification Hub上没有授权规则,则在门户中添加规则并复制相应的连接字符串以用于Notification Hub android API。

答案 2 :(得分:0)

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

未设置正确时区的您会收到此异常。