0

我在登录 betfair api 时收到 INPUT_VALIDATION_ERROR。我正在关注文档,但对于这个特定的错误代码没有用。

如果有人能引导我朝着正确的方向前进,我将不胜感激。

这是我的快速代码

let request = NSMutableURLRequest(URL: NSURL(string: "https://identitysso.betfair.com/api/login")!)
        request.HTTPMethod = "POST"


                request.setValue("application/json", forHTTPHeaderField: "Accept")
        request.setValue("MY_APP_KEY", forHTTPHeaderField: "X-Application")


        let postString = "username=MY_USER_NAME&password=MY_PASSWORD"
        request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)

        let task = NSURLSession.sharedSession().dataTaskWithRequest(request) { data, response, error in
            guard error == nil && data != nil else {                                                          // check for fundamental networking error
                print("error=\(error)")
                return
            }

            if let httpStatus = response as? NSHTTPURLResponse where httpStatus.statusCode != 200 {           // check for http errors
                print("statusCode should be 200, but is \(httpStatus.statusCode)")
                print("response = \(response)")
            }

            let responseString = NSString(data: data!, encoding: NSUTF8StringEncoding)
            print("responseString = \(responseString)")
        }
        task.resume()
4

1 回答 1

2

我认为您需要在 http 中设置标头为Content-Typeas

application/x-www-form-urlencoded

Http头中的三个参数:

    httpRequest.setHeader("Accept", "application/json");
    httpRequest.setHeader("Content-Type", "application/x-www-form-urlencoded");
    httpRequest.setHeader("X-Application", <apiKey>);
于 2017-08-04T11:00:55.040 回答