Создание HTTP-запроса с заголовком В Swift
Я пытаюсь сделать HTTP-запрос к API Imgur. Я пытаюсь получить все изображения, связанные с тегом "кошки."Url, согласно API Imgur, является:https://api.imgur.com/3/gallery/t/cats
API Imgur заявляет следующее об авторизации, необходимой для выполнения запросов get:
для общедоступных только для чтения и анонимных ресурсов, таких как получение изображения информация, просмотр комментариев пользователей и т. д. все, что вам нужно сделать, это отправить заголовок авторизации с
client_id
в ваши запросы. Это также если вы хотите загрузить изображения анонимно (без изображения
привязка к учетной записи), или если вы хотите создать анонимный
альбом. Это позволяет нам узнать, какое приложение обращается к API.Authorization: Client-ID YOUR_CLIENT_ID
Я посмотрел на эти вопросы и попытался все там предложено, но ни один из них не помог.
JSON NSURLRequest с верительные грамоты
Swift получить запрос с параметрами
как сделать Http get и установить httpHeader в Swift?
мой текущий код такой:
let string = "https://api.imgur.com/3/gallery/t/cats"
let url = NSURL(string: string)
let request = NSMutableURLRequest(URL: url!)
request.setValue("clientIDhere", forHTTPHeaderField: "Authorization")
//request.addValue("clientIDhere", forHTTPHeaderField: "Authorization")
request.HTTPMethod = "GET"
let session = NSURLSession.sharedSession()
let tache = session.dataTaskWithRequest(request) { (data, response, error) -> Void in
if let antwort = response as? NSHTTPURLResponse {
let code = antwort.statusCode
print(code)
}
}
tache.resume()
но я постоянно получаю код состояния 403, что означает, что требуется авторизация. Что я делаю не так?
1 ответов
Я думаю, вам нужно вставить клиент-идентификатор строка для вашего фактического идентификатора клиента как для значения заголовка:
request.setValue("Client-ID <your_client_id>", forHTTPHeaderField: "Authorization")