Я пытаюсь использовать Twilio отдохнем Апи и Alamofire установить определенные атрибуты к каналу при его создании (https://www.twilio.com/docs/api/ip-messaging/rest/channels#action-create)(Swift) Twilio сообщение запроса для установки атрибутов с помощью alamofire
let parameters : [String : AnyObject] = [
"FriendlyName": "foo",
"UniqueName": "bar",
"Attributes": [
"foo": "bar",
"bar": "foo"
],
"Type": "private"
]
Alamofire.request(.POST, "https://ip-messaging.twilio.com/v1/Services/\(instanceSID)/Channels", parameters: parameters)
.authenticate(user: user, password: password)
.responseJSON { response in
let response = String(response.result.value)
print(response)
}
Используя этот код, ответ Я получил обратно, что канал был создан с помощью панели FriendlyName foo и UniqueName, но у этого канала не было набора атрибутов.
Глядя на Alamofire github (https://github.com/Alamofire/Alamofire) Я вижу, что есть способ отправить запрос POST с JSON-кодированными параметрами. Так что я попытался это:
let parameters : [String : AnyObject] = [
"FriendlyName": "foo",
"UniqueName": "bar15",
"Attributes": [
"foo": "bar",
"bar": "foo"
],
"Type": "private"
]
Alamofire.request(.POST, "https://ip-messaging.twilio.com/v1/Services/\(instanceSID)/Channels", parameters: parameters, encoding: .JSON)
.authenticate(user: user, password: password)
.responseJSON { response in
let response = String(response.result.value)
print(response)
}
При добавлении «кодирования: .JSON» на запрос ответ показывает, что не только были атрибуты не установлены, но также FriendlyName и UniqueName были нулевыми, в отличие от ранее, когда они были правильно установлены используя URL-кодированные параметры.
Я устанавливаю Атрибуты неправильно в «параметрах»? Документация Twilio гласит, что атрибуты - это «Дополнительное поле метаданных, которое вы можете использовать для хранения любых данных, которые вы хотите. В этом поле не выполняется обработка или проверка».
Помощь будет оценена :)