我正在尝试使用Coinbase API进行oauth,但不断收到无效的请求响应“请求缺少必需的参数,包含不受支持的参数值,或者格式错误.”
按照他们的指南 https://developers.coinbase.com/docs/wallet/coinbase-connect/integrating ,我能够:
- 成功重定向用户以请求 Coinbase 访问权限
- 成功将 Coinbase 重定向回您的网站
获取https://example.com/oauth/callback?code=4c666b5c0c0d9d3140f2e0776cbe245f3143011d82b7a2c2a590cc7e20b79ae8&state=134ef5504a94 app://oauth-coins?code=4c666b5c0c0d9d3140f2e0776cbe245f3143011d82b7a2c2a590cc7e20b79ae8
未能成功地将代码交换为访问 token 发布https://api.coinbase.com/oauth/token
let url = URL(string: "https://api.coinbase.com/oauth/token")! // var request = URLRequest(url: url) request.setValue("authorization_code", forHTTPHeaderField: "grant_type") request.setValue("\(self.code)", forHTTPHeaderField: "code") request.setValue("clientid1234", forHTTPHeaderField: "client_id") request.setValue("clientsecret1234", forHTTPHeaderField: "client_secret") request.setValue("app://oauth-coins", forHTTPHeaderField: "redirect_uri")
因为我在 json
中收到错误返回:
{
error = "invalid_request";
"error_description" = "The request is missing a required parameter, includes an unsupported parameter value, or is otherwise malformed.";
}
更新(已解决):
我不需要为所有参数设置setValue
,而是将它们作为request.httpBody
发布
最佳答案
我不需要为所有参数设置setValue
,而是将它们作为request.httpBody
发布
关于ios - Coinbase API 无效请求(oauth token ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56139421/