2013-12-08 74 views
0

我正在使用Facebook oauth和考拉寶石創建一個應用程序,可以幫助實時管理事件管理。我已經成功地列出了關於我自己的簡單信息,我已經被邀請參加的活動以及我的朋友。如何使用Facebook Graph API向我展示我是主持人的活動?

我瞭解人員和事件對象具有兄弟關係,因此您無法在其他人的信息中找到您被邀請參加的活動。那麼你如何列出你所主持的事件呢?

+0

確保您有權限:user_events,然後嘗試讀取事件:@ graph.get_connections( 「我」, 「事件」) –

回答

1

以下是我做到的。在User.rb self.from_omniauth方法之後: :

def facebook 
    @facebook ||= Koala::Facebook::API.new(oauth_token)  
    block_given? ? yield(@facebook) : @facebook 
    rescue Koala::Facebook::APIError => e 
    logger.info e.to_s 
    nil 
end 

    def api_call 
    query = "Me?fields=picture.type(large),location,events.fields(name,location,end_time,privacy,updated_time,description,rsvp_status,venue,start_time,id,ticket_uri,picture.type(large),cover,owner,admins.fields(picture.type(large),name,location),attending.fields(picture.type(large),name,rsvp_status,first_name,last_name,email,location),maybe.fields(rsvp_status,picture.type(large),name,first_name,last_name,email,age_range,location)),friends.fields(cover,id,gender,location,username,email,first_name,last_name,picture.type(large))" 
    end 

    def generate_user_events 
    fb_call = facebook { |fb| fb.graph_call(api_call)} 

    unless fb_call["events"].nil? 
     events = fb_call["events"]["data"] 
     events.each do |event| 
     #All information from each event. 
     end #/ each do |event| 
    end #/ check to see if user has events 
    end 

end 
相關問題