def get_event_members(event_id,user_id, access_token): fb_event = Events.objects.get(pk=event_id) graph = facebook.GraphAPI(access_token) members = graph.fql("SELECT uid FROM event_member WHERE eid = %d LIMIT 10000"%fb_event.eid) for member in members: facebook_id = int(member['uid']) try: fb_user = FacebookUser.objects.get(facebook_id=facebook_id) except (KeyError, FacebookUser.DoesNotExist): fb_user = FacebookUser(facebook_id=facebook_id, username=str(facebook_id)) fb_user.save() get_user_info.delay(fb_user.id, access_token) get_user_stream.delay(fb_user.id, access_token) get_user_likes.delay(fb_user.id, access_token) get_probabilities.delay(user_id, fb_user.id) fb_event.members.add(fb_user) fb_event.save()
def get_friends(user_id, access_token=None): user = FacebookUser.objects.get(pk=user_id) if access_token==None: access_token = user.access_token graph = facebook.GraphAPI(access_token) friends = graph.fql('SELECT uid2 FROM friend WHERE uid1 = %d LIMIT 5000'%user.facebook_id) for friend in friends: facebook_id = int(friend['uid2']) try: fb_user = FacebookUser.objects.get(facebook_id=facebook_id) get_user_stream.delay(fb_user.id, access_token) except (KeyError, FacebookUser.DoesNotExist): fb_user = FacebookUser(facebook_id=facebook_id, username=str(facebook_id)) fb_user.save() get_user_info.delay(fb_user.id, access_token) get_user_stream.delay(fb_user.id, access_token) get_user_likes.delay(fb_user.id, access_token) get_user_events.delay(fb_user.id, access_token) user.friends.add(fb_user) user.state="get_user_friends" user.save()