2016-08-19 7 views
0

NSURLを使用してAPIゲートウェイに接続し、iOSデバイスで応答が「Missing Authentication Token」であるときに応答します。私は自分のAPIを配備していることを確認しました。それはアクセス可能で、同じurlを使用してChromeとSafariで完全に埋められたjsonを返します。iOS上のAWS APIゲートウェイ

マイコード:

NSString* urlString = [NSString stringWithFormat:@"https://csjm26qn0c.execute-api.us-east-1.amazonaws.com/dev/truckstopsregion1/1"]; 
NSURL *url = [NSURL URLWithString: urlString]; 
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[url standardizedURL]]; 

[request setHTTPMethod:@"POST"]; 
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 
[request addValue:@"...NOT GOING TO SHOW..." forHTTPHeaderField:@"API-Key"]; 


NSURLSession* session = [NSURLSession sharedSession]; 
NSURLSessionDataTask* task = [session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) { 
    if(error == nil && data != nil){ 

     NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error]; 

    } 
}]; 

[task resume]; 

答えて

1

私はあなたのAPIゲートウェイへのアクセスには二つの問題を参照してください。

  1. エンドポイントがPOST要求を処理するように設定されていない可能性があります。あなたのURLはGETリクエストからのデータを返します。 POSTGETに変更し、JSONデータを取得できます。 「Missing Authentication Token」メッセージは、要求されたエンドポイントが存在しない場合の一般的なメッセージです。

  2. 返されるJSONが不正です。構文を確認してください。あなたのURLから受け取ったJSON辞書を投稿しました。経度線にカンマがありません。

    { 
        "Stops" : 
        [ 
         { 
          "id"  : "1", 
          "latitude" : "300", 
          "longitude": "400" 
          "name"  : "Test Stop 2" 
         } 
        ] 
    } 
    
+0

「ミッシング認証トークン」のメッセージは、要求されたエンドポイントが同様に存在していないときのための一般的なメッセージ(あなたの最初の箇条書きの場合)であることを追加することを示唆しています。 –

+1

@AndrewTempleton完了: – Daniel

+0

Upvoted ya、良い答え –

関連する問題