ОБНОВЛЕНИЕ D ... Функция с чем работает!Я хотел бы включить API-интерфейс YELP в приложение, но не могу успешно передать свой токен авторизации в строке URL-адреса.Нужно ли что-то сделать, чтобы подключить URLRequest к вызову URLSessoin, а заголовок не использовать?Может быть, пары ключ-значение неверны?Следующая функция возвращает:
error = {
code = "TOKEN_MISSING";
description = "An access token must be supplied in order to use this endpoint.";
};
Я смог использовать почтальон, чтобы заставить работать вызов API yelp, но только нажав на раздел «Заголовок» на почтальоне и вставив Bearer, а затем мой ключ yelp.Я немного погуглил и нашел несколько ссылок, которые указывают, что вы можете добавить заголовок к URLSession, который, как я полагаю, будет работать так же, как и почтальон, но я не смог заставить его работать.
Я знаю, что есть некоторые github с репозиториями API yelp, но я пытаюсь не устанавливать большой набор кода, который я не понимаю, в мое приложение, когда все, что я хочу, это JSON, который я вижу, этопроходя через почтальона.Может ли кто-нибудь помочь мне понять, как я отредактировал бы код, подобный приведенному ниже примеру ниже, чтобы я мог получить Авторизацию / Носитель, которого требует yelp?
func getYelp() {
let appSecret = "Bearer <YELP APIKEY>"
let link = "https://api.yelp.com/v3/businesses/search?latitude=37.786882&longitude=-122.399972"
if let url = URL(string: link) {
// Set headers
var request = URLRequest(url: url)
request.setValue("Accept-Language", forHTTPHeaderField: "en-us")
request.setValue(appSecret, forHTTPHeaderField: "Authorization")
print("Attempting to get places around location from Yelp")
let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
if error != nil {
print(error!)
} else {
if let urlContent = data {
do {
let jsonResult = try JSONSerialization.jsonObject(with: urlContent, options: JSONSerialization.ReadingOptions.mutableContainers) as AnyObject // Added "as anyObject" to fix syntax error in Xcode 8 Beta 6
print("Printing all JSON/n/n//n--------------------------")
print(jsonResult)
print("Printing from results/n/n//n--------------------------")
if let description = ((jsonResult["search"] as? NSDictionary)?["context"] as? NSDictionary)?["href"] as? String {
} else {
print("JSON pull failed/n/n//n--------------------------")
}
} catch {
print("JSON Processing Failed/n/n//n--------------------------")
}
}
}
}
task.resume()
} else {
resultLabel.text = "Couldn't get results from Here"
}
}