【发布时间】:2017-06-10 05:18:54
【问题描述】:
我无法在贝宝中获取访问令牌,在此之前这是正确的方法吗?我有点困惑。 这是我真正需要转换的:
curl -v https://api.sandbox.paypal.com/v1/oauth2/token \
-H“接受: 应用程序/json" \
-H "接受语言:en_US" \
-u "EOJ2S-Z6OoN_le_KS1d75wsZ6y0SFdVsY9183IvxFyZp:EClusMEUk8e9ihI7ZdVLF5cZ6y0SFdVsY9183IvxFyZp" \
-d "grant_type=client_credentials"
这是我用来转换它的 sn-p:
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
}
响应在这里: 打印时我得到了三件事:(但响应值为 nil)
可选(https://api.sandbox.paypal.com/v1/oauth2/token)
可选({ 网址: https://api.sandbox.paypal.com/v1/oauth2/token } { 状态码:415, 标题{ 连接=关闭; “内容长度”= 0; “内容类型”=“文本/纯文本;字符集=ISO-8859-1”; 日期 =“格林威治标准时间 2017 年 1 月 25 日星期三 06:00:37”; “Paypal-Debug-Id”=“6221061b57a0a,6221061b57a0a”; 服务器=阿帕奇; "Set-Cookie" = "X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D1880%26app%3Dplatformapiserv%26TIME%3D88049752%26HTTP_X_PP_AZ_LOCATOR%3Ddcg12.slc; 过期=格林威治标准时间 2017 年 1 月 25 日星期三 06:30:37;域=.paypal.com;路径=/; 安全的; HttpOnly, X-PP-SILOVER=;过期=周四,1970 年 1 月 1 日 00:00:01 格林威治标准时间”; 变化 = 授权; } })
没有
【问题讨论】: