0

amazon SNSのURLを作成しました。Amazon SNS URLはブラウザでは動作しますが、Androidアプリでは動作しません

http://sns.ap-northeast-1.amazonaws.com? 
AWSAccessKeyId=***********&Action=CreatePlatformEndpoint&PlatformApplicationArn=arn%3Aaws%3Asns%3Aap-northeast-1%3A776188326341%3Aapp%2FGCM%2Fmyapplication& 
SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2016-03-20T23%3A08%3A26.601Z 
&Token=APA91bFN3NV_cBqPtqc6vUSYm8C6o9m5UMoUAvp3qM6WWPlef5s8G8__RNQi_AljpgTJEq-hWqF7iQYJ-4OXKiRJc1uz5JvzDIXfgWd_5AC08S_m0bOIIdcWW2cMZjAyH7PrXpSu2h9j 
&Version=2010-03-31&Signature=%2B%2BjtNjQL7qgxUgnwJIwvxMyOdyQnxlmlHtzOJJ%2FQU6A%3D 

このURLは複雑ですが、私はこのURLが正しいことを確認しました。

ブラウザにこのURLを貼り付けても問題ありません。

しかし、これを非常に簡単なアプリケーションから試してみると、 400の不正なリクエストエラーが返されます。

これは非常に簡単なチタンソースコードです。同じURLがブラウザではなく、Android上で動作しますなぜ

var xhrSNS = Ti.Network.createHTTPClient({ 
    onload :function(e) { 
     Ti.API.info("testPost query:" + JSON.stringify(e)); 
     Ti.API.info(this.responseText); 
    }, 
    onerror : function(e){ 
     Ti.API.debug("error:" + e.error); 
     }  
}); 
xhrSNS.open('GET',url); 
xhrSNS.send(); 

私は混乱して。

また、私はこのチタンソースコードが正しいと確信しています。

私はチェックする必要がある他の点はありますか?

答えて

0

Amazon SNSのログをチェックして、HTTPエラー400がトリガーされた理由を確認する必要があります。例えば、ファイアウォールが適切なユーザエージェント情報を持っていないためリクエストをブロックするため、Webサーバアプリケーションがクライアント要求を処理することを拒否することがあります。これは可能です。だからあなたは最初にサーバー側から調べるべきです。

+0

ありがとう、それは正しい考えです。私はアマゾンサーバーのログをチェックしようとします。 – whitebear

+0

ここで役に立つ「Amazon SNSのログ」はありません。 *悪いリクエスト*エラーです。使用可能な唯一の追加情報は、応答内の情報です。 –

関連する問題