0

我正在尝试使用 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 发起帖子来创建新事件/事件。有人知道吗?

我也试过:

graph.put_connections("/"+current_user.fb_id.to_s+"/events", "event", {

谢谢!

4

2 回答 2

0

如果你做这样的事情会发生什么?

graph.put_connections("me", "events", {
  name: safe_params[:name], 
  description: safe_params[:description], 
  privacy: safe_params[:privacy],
  start_time: ...,
  end_time: ...
})
于 2014-01-08T09:56:51.143 回答
0

因此,在弄乱了 Facebook 的 Graph Explorer 并尝试了数百种不同的 put_connections 组合后,我决定使用 Koala 进行直接的 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”作为隐私字段的名称,但“privacy_type”实际上是你想要的(在另一篇 SO 帖子中发现了这一点)。

我发现的第二件事是,即使您在进行 graph_call 时已通过身份验证(具有用户令牌),您仍然需要传递 current_user 访问令牌以及进行 POST graph_call。

希望这对某人有帮助!

于 2014-01-10T08:02:41.347 回答