2014-01-08 17 views
0

我試圖創建一個使用考拉寶石的新事件,它返回的錯誤是當我嘗試更新具有錯誤格式的日期時間值的事件時得到的。Put_connections與考拉創建一個新的事件?

我現在可以更新,但仍然無法創建活動。

這是我對我的更新方法使用的代碼其中工程:

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

因此,與Facebook的圖形瀏覽器搞亂並嘗試數百種不同的組合與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。

希望這可以幫助別人!

0

如果你這樣做,會發生什麼?

graph.put_connections("me", "events", { 
    name: safe_params[:name], 
    description: safe_params[:description], 
    privacy: safe_params[:privacy], 
    start_time: ..., 
    end_time: ... 
}) 
+0

Hi @Guy ...我仍然是相同的類型:OAuthException,代碼:100,消息:(#100)無效的參數[HTTP 400]錯誤。 – j0e

相關問題