Я работаю, чтобы получить доступ к конечным точкам API Strava с помощью моего приложения iOS Swift 5 с помощью Alamofire. Я могу аутентифицироваться и получить токен OAuth, но когда я пытаюсь сделать GET-запрос, возвращается сообщение об ошибке:
{
errors = (
{
code = invalid;
field = "access_token";
resource = Athlete;
}
);
message = "Authorization Error";
}
Что я делаю не так с запросами GET? Ниже приведена моя функция, позволяющая определить частоту сердечных сокращений и силы спортсмена из конечной точки :
func getTimeInZones(athleteID: String, completion: @escaping ([String]?) -> Void) {
// 1
print("The token: \(strava.token)")
Alamofire.request("https://www.strava.com/api/v3/athlete/zones",
method: .get,
parameters: ["athlete": athleteID],
headers: ["Authorization": "Bearer \(strava.token)"])
// 2
.responseJSON { response in
guard response.result.isSuccess,
let value = response.result.value else {
print("Error while fetching zones: \(String(describing: response.result.error))")
completion(nil)
return
}
print(value)
// 3
let zones = JSON(value)["results"][0]["zones"].array?.map { json in
json["zone"].stringValue
}
// 4
completion(zones)
}
}
Конечная точка зоны имеет минимальное, максимальное и время, проведенное в зонах сердцебиения и силы спортсмена во время тренировки на выносливость. Поэтому я хочу, чтобы эта функция возвращала массив значений сердечного ритма и силы атлета, а также время, проведенное в каждой зоне.