我第一次尝试请求访问令牌时遇到{“error_description”:“缺少grant_type参数值”,“错误”:“invalid_request”}。我的代码如下:
let params : [String : String] =
["client_id" : clientID,
"client_secret" : secret,
"redirect_uri" : redirectURL,
"code" : code,
"grantType" : "authorization_code"
]
var request = NSMutableURLRequest(URL: NSURL(string: url)!)
var session = NSURLSession.sharedSession()
request.HTTPMethod = "POST"
var err: NSError?
request.HTTPBody = NSJSONSerialization.dataWithJSONObject(params, options: nil, error: &err)
request.addValue("aapplication/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
request.addValue("\(request.HTTPBody!.length)", forHTTPHeaderField: "Content-Length")
可能是什么问题?提前谢谢。
答案 0 :(得分:3)
您没有发送grant_type
,但发送了grantType
。
您将帖子正文编码为application/json
,但您将内容类型设置为aapplication/x-www-form-urlencoded
,这似乎是application/x-www-form-urlencoded
的拼写错误。
因此有两种可能的拼写问题和内容类型不匹配。
如果您需要发送application/x-www-form-urlencoded或application/json,请确定。格式化数据并根据需要设置内容类型。
仔细检查所有内容的拼写。