Неверный запрос Coinbase API (oauth-токен) - PullRequest
0 голосов
/ 15 мая 2019

Я пытаюсь использовать Coinbase API для oauth , но продолжаю получать неверный ответ на запрос "В запросе отсутствует обязательный параметр, он содержит неподдерживаемое значение параметра или неправильно сформирован."

Следуя их инструкциям https://developers.coinbase.com/docs/wallet/coinbase-connect/integrating, Я могу:

  1. Успешно перенаправить пользователей для запроса доступа к Coinbase

ПОЛУЧИТЬ https://www.coinbase.com/oauth/authorize?response_type=code&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URL&state=SECURE_RANDOM&scope=wallet:accounts:read

Успешно перенаправьте Coinbase обратно на ваш сайт

GET https://example.com/oauth/callback?code=4c666b5c0c0d9d3140f2e0776cbe245f3143011d82b7a2c2a590cc7e20b79ae8&state=134ef5504a94 app: // oauth-coins? Code = 4c666b5c0c0d9d3140f2e0776cbe245f3143011d82b7a2c2a590cc823 * 79

79

Неудачный обмен кода для токена доступа POST 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

1 Ответ

0 голосов
/ 16 мая 2019

Мне нужно было не setValue для всех параметров, а разместить их как request.httpBody

...