1

WNS 経由で Wi​​ndows アプリに通知をプッシュしようとしていますが、

毎回 404 応答が返ってきます。

アプリを起動するたびにチャネル URI を取得し、すぐにテストに使用するため、チャネル URI が有効であることを確認しました。

ここに私が作るcurl呼び出しがあります

curl -i -d "<tile><visual><binding template='TileSquareText01'><text id='1'>tile one text</text></binding><binding template='TileSquareText02'><text id='2'>tile two text</text></binding></visual></tile>" -H "Authorization: Bearer EgAeAQMAAAAEgAAACoAAFQOHLfF3CMYK/IUs8MgTUFoS9vwOM4AFavJ3TLGAczjxBJNm02+rMlWFGYNWAefkuCw/Qg62++O+5GdrLRqQCdBSSI+cZPPXwOKk6lagOLDXNzd41hPMG9/NYi/Li1dHddMLLkPVWuZ6Te+t1ofOeL30PDA9p8JVEVDAX/CfLXGNAFoAjQAAAAAAL+oNSH9RuFB/UbhQ60gEAA8AMTIzLjIwMS4xMzUuNTMAAAAAAF4AbXMtYXBwOi8vUy0xLTE1LTItMTIxMTkzNzMyNS0yNTg0NzczMzMzLTE1ODE1OTA0OTYtNDE4NTk0OTY5OS0yNDEwMjc4ODgzLTM4NjU2MTI0NzAtOTM5MDAzNTk0AA==" -H "content-type: text/xml" -H "content-length: 190" -H "X-WNS-Type: wns/tile" "https://sin.notify.windows.com:443/?token=AgYAAAA/Bcry6hlYw8kOU5f4LHaS+dycP7UxcsT45eUcNlxfznxCltMK3emgIsHRAiRUk1X5VnQ0h0FC7fbOno+QI5aqUt2Q05foUg+XYeFvIcdsp6wwoMJ8VEjyOBzcT+z1JNM="

次の応答が得られます

HTTP/1.1 404 Not Found
Content-Length: 0
X-WNS-MSG-ID: 1FD852615FA1E9DA
X-WNS-DEBUG-TRACE: SINWNS2012431
Date: Fri, 30 Nov 2012 06:57:46 GMT

ヘッダーがすべて正しいことを確認しました。これをテストするには、間違ったヘッダーを配置し、代わりに 400 Bad request を取得します。

チャンネルURIを取得するための私のアプリコードは次のとおりです

get_channel_uri :function(){
    var channel;
    var pushNotifications = Windows.Networking.PushNotifications;
    var channelOperation = pushNotifications.PushNotificationChannelManager.createPushNotificationChannelForApplicationAsync();

    return channelOperation.then(function (channel) {
        if(channel.uri){
            // send to server
        }
    },
    function (error) {

    }
    );

}

私が見逃しているアイデアはありますか?

4

1 に答える 1

3

私はMSDNフォーラムで解決策を見つけました。

私は次のことをしていませんでした

Visual Studio 2012で、[プロジェクト]->[ストア]->[アプリをストアに関連付ける...]に移動し、作成したアプリを選択します。これにより、正しい証明書などをインストールするためのマニフェストが更新されます。その後、アプリは別の通知URLを作成し、すべてが機能し始めました。

于 2012-11-30T10:08:45.370 に答える