Rails对Eventbrite的POST请求不起作用



我正在尝试使用EventBrite的API POST(创建(事件。

我有身份验证密钥,但在格式化请求时遇到问题。

这是我的东西。

def self.syndicate_event
event = Event.first
body_string =
"{
'event': {
'name': {
'html': #{event.name}
},
'description': {
'html': #{event.description}
},
'start': {
'utc': #{event.start},
'timezone': #{event.start_timezone},
},
'end': {
'utc': #{event.end},
'timezone': #{event.end_timezone},
},
'currency':#{event.currency}
}
}"
json_body = body_string.to_json
respo = HTTP.auth("Bearer mytoken")
.post("https://www.eventbriteapi.com/v3/events/",
params: json_body
)
end

它告诉我:"无法将字符串转换为数组。"错误有什么想法吗?如果有人使用了EventBrite的API,除了这样格式化我的字符串,然后将其制作成JSON之外,还有更好的方法吗。

感谢

我不熟悉EventBrite API,但它看起来json_body字符串格式错误。您可以通过执行JSON.parse(json_body)来验证json是否有效,并且应该返回json的哈希表示。如果格式不正确,则会引发错误。

我会选择在哈希实例上使用to_json方法来保证json不会格式错误。

类似于:

body_object = 
{ event: {
name: {
html: event.name
},
description: {
html: event.description
}...,
currency: event.currency }
}
json_body = body_object.to_json

最新更新