Xcode 使用Alamofire将cURL转换为HTTP请求(Swift 3)

Xcode 使用Alamofire将cURL转换为HTTP请求(Swift 3),xcode,curl,swift3,Xcode,Curl,Swift3,我无法在paypal中获得访问令牌,在此之前,这是正确的方法吗?我有点困惑。 这是我真正需要转换的: 旋度-v\ -H“接受: 应用程序/json“\ -H“接受语言:en_US”\ -“EOJ2S-Z6OoN_le_KS1d75wsZ6y0SFdVsY9183IvxFyZp:EClusMEUk8e9ihI7ZdVLF5cZ6y0SFdVsY9183IvxFyZp” \ -d“授权类型=客户端凭据” 这是我用来转换它的片段: let parameters = ["password" : K_C

我无法在paypal中获得访问令牌,在此之前,这是正确的方法吗?我有点困惑。 这是我真正需要转换的:

旋度-v\
-H“接受: 应用程序/json“\
-H“接受语言:en_US”\
-“EOJ2S-Z6OoN_le_KS1d75wsZ6y0SFdVsY9183IvxFyZp:EClusMEUk8e9ihI7ZdVLF5cZ6y0SFdVsY9183IvxFyZp” \
-d“授权类型=客户端凭据”

这是我用来转换它的片段:

 let parameters = ["password" : K_CLIENT_SECRET, "username" : K_CLIENTID_SANDBOX, "grant_type" : "client_credentials"]

 let str = "\(K_CLIENTID_SANDBOX):\(K_CLIENT_SECRET)"
 let utf8str = str.data(using: String.Encoding.utf8)
 //let basic_auth_token = utf8str?.base64EncodedStringWithOptions(NSData.Base64EncodingOptions(rawValue: 0))
 let basic_auth_token = utf8str?.base64EncodedString(options: NSData.Base64EncodingOptions(rawValue: 0))

 let headers = ["Accept" : "application/json", "Authorization" :"Basic "+basic_auth_token!] 

 Alamofire.request("https://api.sandbox.paypal.com/v1/oauth2/token", method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: headers )
                    .responseJSON { response in
                        print(response.request as Any)  // original URL request
                        print(response.response as Any) // URL response
                        print(response.result.value as Any)   // result of response serialization
                }
回复如下: 当我打印时,我得到了三样东西:(但响应值为零)

可选()

可选({URL: }{状态代码:415, 标题{ 连接=关闭; “内容长度”=0; “内容类型”=“文本/普通;字符集=ISO-8859-1”; 日期=“2017年1月25日星期三06:00:37 GMT”; “贝宝调试Id”=“6221061b57a0a,6221061b57a0a”; 服务器=Apache; “设置Cookie”=“X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_版本%3D1880%26app%3Dplatformapiserv%26时间%3D88049752%26HTTP_X_PP_AZ_定位器%3Ddcg12.slc; Expires=Wed,2017年1月25日06:30:37 GMT;domain=.paypal.com;path=/; 安全;仅限HttpOnly,X-PP-SILOVER=;过期=周四,1970年1月1日00:00:01 格林尼治标准时间”; Vary=授权;}})


我得到了解决方案,它是:


我得到了解决方案,它是:

//GET ACCESS TOKEN
let parameters = ["password" : K_CLIENT_SECRET, "username" : K_CLIENTID_SANDBOX, "grant_type":"client_credentials"]    

let str = "\(K_CLIENTID_SANDBOX):\(K_CLIENT_SECRET)"
let utf8str = str.data(using: String.Encoding.utf8)
//let basic_auth_token = utf8str?.base64EncodedStringWithOptions(NSData.Base64EncodingOptions(rawValue:
0))
let basic_auth_token = utf8str?.base64EncodedString(options:
NSData.Base64EncodingOptions(rawValue: 0))

let headers = ["Accept" : "application/json", "Authorization" :"Basic "+basic_auth_token!]

Alamofire.request("https://api.sandbox.paypal.com/v1/oauth2/token",
method: .post, parameters: parameters, encoding:URLEncoding.default,
headers: headers)
                    .responseJSON { response in
                        SwiftLoader.hide()

                        print(response.request as Any)  // original URL request
                        print(response.response as Any) // URL response
                        print(response.result.value as Any)   // result of response serialization



                }