【问题标题】:Upload Workout Parameters to Strava - Swift将锻炼参数上传到 Strava - Swift
【发布时间】:2019-03-25 18:05:06
【问题描述】:

我正在尝试通过我的应用程序将我的锻炼上传到 strava 并且当我发送我的请求时它返回错误 400 并且这个:

(字符串?)$R0 = "{\"message\":\"Bad Request\",\"errors\":[{\"resource\":\"Upload\",\"field\" :\"文件\",\"代码\":\"不是文件\"}]}"

我能够毫无问题地将我的应用连接到 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)
    }
}

【问题讨论】:

    标签: swift oauth strava


    【解决方案1】:

    根据 Strava API 文档 (https://developers.strava.com/docs/uploads/),file 字段是必需的,看起来您已将其设置为 nil。这可能是它返回 not a file 的原因,因为没有文件通过。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-15
      • 2019-11-10
      • 1970-01-01
      相关资源
      最近更新 更多