1

iOS/Androidデバイスにプッシュ通知を送信するコンソールアプリケーションを設定する際に問題が少しあります。示さAzure Notificationハブエラー401

エラーは以下の通りです:ここでは、コンソールアプリケーションのための私のコードです

Unhandled Exception: System.AggregateException: One or more errors 
occurred. ---System.UnauthorizedAccessException: The remote server 
returned an error: (401) 
Unauthorized..TrackingId:ea158550-8761-41f8-821d-dbcb88fcce56,TimeStamp:18/07/2016 
08:58:21 ---System.Net.WebException: The remote server returned an 
error: (401) Unauthorized. at 
System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult) 
at 
Microsoft.Azure.NotificationHubs.NotificationRequestAsyncResult`1.<GetAsyncSteps>b__3(TAsyncResult 
thisPtr, IAsyncResult r) at 
Microsoft.Azure.NotificationHubs.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult 
result) --- End of inner exception stack trace --- 

Server stack trace: 


Exception rethrown at [0]: at 
Microsoft.Azure.NotificationHubs.Common.AsyncResult.End[TAsyncResult](IAsyncResult 
result) at 
Microsoft.Azure.NotificationHubs.NotificationHubManager.EndSendNotification(IAsyncResult 
result) at 
System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult 
iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean 
requiresSynchronization) --- End of inner exception stack trace --- 
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean 
includeTaskCanceledExceptions) at 
System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, 
CancellationToken cancellationToken) at 
System.Threading.Tasks.Task.Wait() at 
XamarinAzurePushNotification.Server.Program.Main(String[] args) in 
B:\Personal Development\Visual Studio 
2015\AzurePushNotifications\XamarinAzurePushNotification.Server\Program.cs:line 
26 

private static void Main(string[] args) 
{ 
    var hub = NotificationHubClient.CreateClientFromConnectionString("Endpoint=sb://ConnectionStringName.servicebus.windows.net/;SharedAccessKeyName=DefaultListenSharedAccessSignature;SharedAccessKey=ConnectionStringKey", "HubName"); 

    var iOS_alert = "{\"aps\":{\"alert\":\"Hello. This is a iOS notification! Tada!\", \"sound\":\"default\"}}"; 
    hub.SendAppleNativeNotificationAsync(iOS_alert).Wait(); 

    var android_alert = "{\"message\": \"Can I interest you in a once in a lifetime push notification?!\", \"title\":\"Ding, dong!\"}"; 
    hub.SendGcmNativeNotificationAsync(android_alert).Wait(); 

    Console.WriteLine("MESSAGE SENT"); 
} 

誰かが私にこのと手を与えることができれば、それは素晴らしいことです。

+0

APIキーがサーバーキーであるかどうかを確認できますか?私の[ここでの答え](http://stackoverflow.com/a/37801206/4625829)を参照してください。 –

+0

私はAzureでテストプッシュ通知機能を使用してアプリケーションをテストしていますが、私のアプリケーションは通知を受信して​​いますが、コンソールアプリケーション(サーバー)に同じエラーを実装しようとしたときにエラーが発生します。 – ADuggan

+0

私はちょうど今そこにチェックし、私はすでにサーバーのキーを使用しているようです。 – ADuggan

答えて

4

DefaultListenSharedAccessSignatureを使用しているようです。代わりにDefaultFullSharedAccessSignatureを使用してください。

関連する問題