Проблемы с запросами API Strava в Swift - PullRequest
0 голосов
/ 09 мая 2019

Я работаю, чтобы получить доступ к конечным точкам 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)
        }
    }

Конечная точка зоны имеет минимальное, максимальное и время, проведенное в зонах сердцебиения и силы спортсмена во время тренировки на выносливость. Поэтому я хочу, чтобы эта функция возвращала массив значений сердечного ритма и силы атлета, а также время, проведенное в каждой зоне.

...