将训练参数上传至Strava-Swift

将训练参数上传至Strava-Swift,swift,oauth,strava,Swift,Oauth,Strava,我正试图通过我的应用程序将我的训练上传到strava&当我发送请求时,它会返回错误400,并且: (字符串?$R0=“{\”消息\“:\”错误请求\“,\”错误\“:[{\”资源\“:\”上传\“,\”字段\“:\”文件\“,\”代码\“:\”非文件\“}]” 我可以毫无问题地将我的应用程序连接到strava。 以下是我迄今为止所做的工作: func saveWorkout(_ workout: FirebaseWorkout, completion: @escaping (_ success:

我正试图通过我的应用程序将我的训练上传到strava&当我发送请求时,它会返回错误400,并且:

(字符串?$R0=“{\”消息\“:\”错误请求\“,\”错误\“:[{\”资源\“:\”上传\“,\”字段\“:\”文件\“,\”代码\“:\”非文件\“}]”

我可以毫无问题地将我的应用程序连接到strava。 以下是我迄今为止所做的工作:

func saveWorkout(_ workout: FirebaseWorkout, completion: @escaping (_ success: Bool, _ error: Error?) -> Void) {
    let opts: [String: Any?] = [
        "file": nil,
        "name": workout.name
        "description": nil,
        "trainer": false,
        "commute": false,
        "dataType": ".gpx",
        "externalId": workout.key
    ]
    if self.isAuthorized && userSettings.membership.hasFullAccess {
        workoutLib().analyticsEvent(kEventCategoryThirdParty, eventAction: "SAVE_WORKOUT", eventLabel: ThirdPartyApplication.strava.rawValue, eventValue: 1)
        workoutLib().debugLog("Strava: Save Workout")
        self.refreshTokenIfNeeded {
            _ = self.oauthswift.client.post("https://www.strava.com/api/v3/uploads", parameters: opts as OAuthSwift.Parameters, success: { (_) in
                workoutLib().debugLog("Strava: Save Workout Success")
                completion(true, nil)
            }) { (error) in
                workoutLib().debugLog("Strava: Save Workout \(error.localizedDescription)")
                completion(false, error)
            }
        }
    } else {
        completion(false, nil)
    }
}

在Strava API文档()中,
文件
字段是必需的,看起来您已经将其设置为
nil
。这可能就是它返回
而不是文件的原因,因为没有文件通过。

从Strava API文档()中,
文件
字段是必需的,看起来您已经将其设置为
nil
。这可能就是它返回
而不是文件的原因,因为没有文件通过