Я интегрирую API Reddit в свое приложение для iOS, но у меня возникают проблемы с запросами. Я использую Alamofire для выполнения запросов POST. Когда вы используете API Reddit в установленных приложениях, вы должны следовать их Поток предоставления только приложений . Все работает, кроме того, что я получаю ошибку unsupported_grant_type
.
Это мой POST-запрос.
guard let url = URL(string: "https://www.reddit.com/api/v1/access_token") else { return false }
let params: Parameters = [
"grant_type" : "https://oauth.reddit.com/grants/installed_client",
"device_id" : "\(UUID().uuidString)"]
let username = "MY_CLIENT_ID"
let password = ""
let loginString = String(format: "%@:%@", username, password)
let loginData = loginString.data(using: String.Encoding.utf8)! as NSData
let base64EncodedString = loginData.base64EncodedString()
let headers = ["Content-Type" : "application/x-www-form-urlencoded",
"Authorization" : "Basic \(base64EncodedString)"]
Alamofire.request(url, method: .post , parameters: params, encoding: JSONEncoding.default, headers: headers).responseJSON { (response) in
print(response)
}
Мой grant_type
параметр правильный, хотя? Как я полагаю, потому что документация говорит мне использовать https://oauth.reddit.com/grants/installed_client
в качестве типа предоставления для установленных приложений.