Я пытаюсь использовать Coinbase API для oauth, но продолжаю получать неверный ответ на запрос «В запросе отсутствует обязательный параметр, он содержит неподдерживаемое значение параметра или имеет иной неверный формат».
Следуя их руководству https://developers.coinbase.com/docs/wallet/coinbase-connect/интеграция, я могу:
ПОЛУЧИТЬ https://example.com/oauth/callback?code=4c666b5c0c0d9d3140f2e0776cbe245f3143011d82b7a2c2a590cc7e20b79ae8&state=134ef5504a94 приложение://oauth-монеты?код=4c666b5c0c0d9d3140f2e0776cbe245f3143011d82b7a2c2a590cc7e20b79ae8
Неудачная замена кода на токен доступа ПОСТ https://api.coinbase.com/oauth/токен
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