私のDjangoバックエンドからiOSアプリケーションのデータを取得しようとしています。郵便配達員で、次のようにGETリクエストを実行するとURL http://127.0.0.1:8000/api/places/categoriesとなり、パラメータがKey:"Authorization" Value: "Bearer access_token".
になります。私はJSON応答を受け取ります。Alamofireを使用してデータをフェッチできませんか?
私のアプリの中に私はAlamofireの助けを借りて、このような何かをやっている:
let access_token = "123"
let headers = ["Authorization": "Bearer" + access_token]
Alamofire.request(self.categoriesUrl, method: .get, parameters:nil,encoding: JSONEncoding.default,headers: headers).response { response in
print("Request: \(response.request)")
print("Response: \(response.response)")
print("Error: \(response.error)")
if let data = response.data, let utf8Text = String(data: data, encoding: .utf8) {
print("Data: \(utf8Text)")
}
}
私は認証資格情報をを提供していなかったというエラーを取得します。私はこれを理解し、パラメータを渡すように求めますが、パラメータにはトークンが必要です。だから私はこのような何かを:
let access_token = "123"
let params = ["Authorization": "Bearer" + access_token]
Alamofire.request(self.categoriesUrl, method: .get, parameters:params,encoding: JSONEncoding.default,headers: nil).response { response in
print("Request: \(response.request)")
print("Response: \(response.response)")
print("Error: \(response.error)")
if let data = response.data, let utf8Text = String(data: data, encoding: .utf8) {
print("Data: \(utf8Text)")
}
}
それはしばらく待ってますが、次のエラーでデータをフェッチするために失敗します。
Response: nil
Error: Optional(Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo={NSUnderlyingError=0x61800004b0d0 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, NSErrorFailingURLStringKey=http://127.0.0.1:8000/api/places/categories/, NSErrorFailingURLKey=http://127.0.0.1:8000/api/places/categories/, _kCFStreamErrorDomainKey=4, _kCFStreamErrorCodeKey=-2102, NSLocalizedDescription=The request timed out.})
Data:
このエラーは、インターネットに接続されていないことが原因であると思われます。インターネット接続を確認してください。 – 3stud1ant3
インターネットのためではありません。郵便配達員はうまく働き、カールを要求しています。 – indexOutOfBounds
ヘッダーは無しですか、ポストマンのリクエストを表示できますか?["許可": "ベアラー" + access_token]はヘッダーであり、パラメーターではありません – 3stud1ant3