ruby-on-rails - Rails 对 Eventbrite 的 POST 请求不起作用
问题描述
我正在尝试使用 EventBrite 的 API 发布(创建)一个事件。
我有身份验证密钥,但在格式化请求时遇到问题。
这就是我所拥有的。
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 是否有效,JSON.parse(json_body)
并且应该返回您的 json 的哈希表示。如果格式不正确,则会引发错误。
我会选择to_json
在哈希实例上使用该方法来保证 json 不会格式错误。
就像是:
body_object =
{ event: {
name: {
html: event.name
},
description: {
html: event.description
}...,
currency: event.currency }
}
json_body = body_object.to_json
推荐阅读
- r - tmap 仅在 sf 几何列中绘制第一个多边形
- javascript - 从嵌套对象设置 nunjucks 变量
- linux - LINUX - 我的 Unity 游戏的构建在几个小时后崩溃 - 收到未处理的 NULL 异常
- spring-boot - databaseChangeLog 不包含条目列表。每个 changeSet 必须以 '-changeSet:' 开头
- python - Pandas:XLSX 到 CSV:作为第一个字符生成的额外逗号
- ios - 有没有办法在按下不同视图控制器上的按钮后更新一个视图控制器上的进度视图?
- excel - 从主工作表创建数据透视表
- c - cblas - 函数 _main 中引用的未解析的外部符号
- android - Delphi:TJFileProvider.JavaClass.getUriForFile 上的空指针
- sql - 查找特定时期内的最大平均值,两张表