跟踪下面的链接后,我的虚拟Android应用程序始终有一个未经授权的通知枢纽例外Azure的通知中心未经授权异常
https://azure.microsoft.com/en-us/documentation/articles/notification-hubs-android-get-started/
有什么能为这个错误的原因?
跟踪下面的链接后,我的虚拟Android应用程序始终有一个未经授权的通知枢纽例外Azure的通知中心未经授权异常
https://azure.microsoft.com/en-us/documentation/articles/notification-hubs-android-get-started/
有什么能为这个错误的原因?
你有没有验证您的中心名称和连接字符串是否填写在Android应用程序中?你应该有值的行:
private String HubName = "<Enter Your Hub Name>";
private String HubListenConnectionString = "<Your default listen connection string>";
刚刚给出一个猜测的细节提供
系统在Android模拟器中正常工作。这让我确信hubname和连接字符串 –
确保手机的日期和时间是一样的Azure的。或者只是使用自动时间和日期设置。
正如下面的链接所示,这是Azure通知中心的一个错误[link](https://social.msdn.microsoft.com/Forums/vstudio/en-US/8fd26e66 -d9b8-43a0-92ac-65f75bb559bb /我的,Android的应用得到了-AN-unauthorized401-异常在生产环境?论坛= notificationhubs) –
你能否检查SAS密钥的失效期限是否对土耳其语正确? 'generateSasToken()'为土耳其语返回什么?它为英语返回什么?也许数字格式是不同的,你没有在土耳其的SAS字符串中得到正确的到期值... –
我认为你是对的。但我们正在使用通知中心Android Sdk。微软应该解决这个问题。你有任何其他解决方案可以解决我自己 –
我找到并通过更改notification-hubs-0.4.jar文件解决了问题。在connection.java中,有一个方法,即generateAuthToken,并且如果更改代码 url = URLEncoder.encode(url,“UTF-8”)toLowerCase(Locale.getDefault()); 至 url = URLEncoder.encode(url,“UTF-8”)。toLowerCase(Locale.ENGLISH); jar文件按预期工作。 –