Xcode 使用Alamofire将cURL转换为HTTP请求(Swift 3)
我无法在paypal中获得访问令牌,在此之前,这是正确的方法吗?我有点困惑。 这是我真正需要转换的: 旋度-v\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
-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
}