我正在尝试使用Koala gem创建一个新事件,并且当我尝试使用格式错误的日期时间值更新事件时,它返回时出现的错误相同。
我现在可以更新,但仍然无法创建活动。
以下是我在更新方法中使用的代码:
start_time = safe_params[:start_time].in_time_zone
end_time = safe_params[:end_time].in_time_zone
graph.put_connections(safe_params[:fb_id], "event", {
name: safe_params[:name],
description: safe_params[:description],
privacy: safe_params[:privacy]
})
这是我试图用来创建新事件对象的代码:
graph.put_connections("/me/events", "event", { #this is the line that errors
name: safe_params[:name],
description: safe_params[:description],
privacy: safe_params[:privacy]
})
根据Facebook关于创建活动(https://developers.facebook.com/docs/graph-api/reference/user/events/)的文档,我应该能够通过向/ me / events发布帖子来创建新活动。有人有任何想法吗?
我也尝试过:
graph.put_connections("/"+current_user.fb_id.to_s+"/events", "event", {
谢谢!
答案 0 :(得分:0)
如果你做这样的事情会怎么样?
graph.put_connections("me", "events", {
name: safe_params[:name],
description: safe_params[:description],
privacy: safe_params[:privacy],
start_time: ...,
end_time: ...
})
答案 1 :(得分:0)
因此,在弄乱Facebook的Graph Explorer并尝试使用put_connections进行数百种不同的组合后,我决定使用考拉进行直接的graph_call。
最后得到了ID回复。我差点儿哭了。我以为我会与社区分享,以防其他人试图做同样的事情。
event_response = graph.graph_call("/me/events",{
name:safe_params[:name],
start_time: safe_params[:start_time],
privacy_type: safe_params[:privacy],
access_token: current_user.oauth_token}, "POST")
safe_params[:fb_id] << event_response["id"]
@event = Event.create safe_params
我在存储变量event_response中进行调用,因为返回的Facebook Id已在我的应用中使用。
我发现的第一件事是:尽管使用“隐私”作为从Facebook获取并在文档中说明时隐私字段的名称,“privacy_type”实际上是您想要的(在另一个SO帖子中找到它)。
我发现的第二件事是即使您在进行graph_call时进行了身份验证(拥有用户令牌),您仍然需要传递current_user访问令牌以及发出POST graph_call。
希望这有助于某人!