Несмотря на то, что мой токен правильный, я получаю выводимое сообщение как «Отсутствует авторизационный токен» - PullRequest
0 голосов
/ 01 апреля 2019

Я создаю онлайн-приложение для компиляции для ipad, используя API-интерфейс запуска glot.io. Я взял свой токен, выполняя тот же путь, которым они руководствовались, пока я получаю сообщение JSON как

{
    "message" : "Missing auth token"
} 

Я делаю свое заявление на swift и использую Alamofire для вызовов API.

let headers : [String : String] = [
    "Content-type": "application/json",
    "Authorization":"f49f383b-0710-494c-ad79-76cdf3970c53"
]

var body: [String : Any] = [
    "stdin": inputs,
    "files": [
        "name": "main.py",
        "content": content
    ]
]

Alamofire.request(
    "https://run.glot.io/languages/python/latest",
    method: .post,
    parameters: body,
    encoding: JSONEncoding.default,
    headers: headers
).responseJSON{(response) in
    if response.result.error == nil{
        guard let data = response.data else { return }
        do {
            let json = try JSON(data: data)
            print(json)
            outputcode = json["message"].stringValue

        }
        catch {
            debugPrint(error)
        }
    } else {
        debugPrint(response.result.error as Any)
    }
}

Они сказали, что реализуют этот путь.

curl --request POST \
 --header 'Authorization: Token 0123456-789a-bcde-f012-3456789abcde' \
 --header 'Content-type: application/json' \
 --data '{"files": [{"name": "main.py", "content": "print(42)"}]}' \
 --url 'https://run.glot.io/languages/python/latest'

1 Ответ

0 голосов
/ 01 апреля 2019

Попробуйте так один раз ::

    let headers: Dictionary = ["Accept":"application/json", "Content-type": "application/json", "Authorization":"Bearer f49f383b-0710-494c-ad79-76cdf3970c53"]

var params: [String : Any] = [
    "files": [
        "name": "main.py",
        "content": content
    ]
]

Alamofire.request(
    "https://run.glot.io/languages/python/latest",
    method: .post,
    parameters: params,
    encoding: JSONEncoding.default,
    headers: headers
).responseJSON{(response) in
    if response.result.error == nil{
        guard let data = response.data else { return }
        do {
            let json = try JSON(data: data)
            print(json)
            outputcode = json["message"].stringValue

        }
        catch {
            debugPrint(error)
        }
    } else {
        debugPrint(response.result.error as Any)
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...