2010-05-25 4 views
7

Est-ce que quelqu'un sait comment je peux obtenir une liste des événements possédés (créés) par une page Facebook?Obtenir la liste des événements appartenant à une page facebook

Je semble être en mesure d'utiliser le "graphique api" pour générer une liste des événements d'une entité participant. J'ai également regardé FQL, mais il semble exiger que la clause 'where' soit un champ indexable (et, naturellement, l'identifiant est le seul champ indexable).

Pour les points bonus, nous serions en mesure de le faire sans aucune authentification. (Bien que je me résigne au fait que je vais probablement avoir besoin d'au moins un access_token permanent.)

Si quelqu'un sait comment faire cela, je serais éternellement reconnaissant.

Répondre

5

Tous les accès aux données FQL requir l'authentification, alors oubliez ces "points bonus". Cela va nécessiter un traitement post-requête car, comme vous l'avez dit, la clause FQL WHERE ne respecte que les champs indexables et le champ owner.id n'est pas indexable. Ainsi, nous commençons tout d'abord en identifiant les événements dont l'utilisateur est un "membre" et en chargeant les informations du propriétaire pour ces événements.

SELECT id, name, owner.id FROM event WHERE id IN (SELECT eid FROM event_member WHERE uid = XXX) 

Une fois la requête renvoie un ensemble de données, il faut vérifier manuellement les lignes dans lesquelles owner.id est égale à uid.

+0

C'est la réponse qui répond vraiment à la question et devrait avoir la générosité. Malheureusement, j'ai été pris loin de mon PC et ne pouvais pas accepter la réponse sur mon téléphone. Désolé Dustin. –

+0

Haha excellent :) – defines

+0

L'ID n'est pas membre de la table des événements –

1

On dirait que vous devez d'abord interroger la table event_member, en utilisant le uid

http://developers.facebook.com/docs/reference/fql/event_member

puis une fois que vous avez obtenu le eid des événements que vous pouvez interroger la table des événements où l'eID est indexé http://developers.facebook.com/docs/reference/fql/event

et je suis sûr que vous pouvez utiliser la première en tant que sous-requête de la deuxième requête comme var query = FB.Data.query("select name from event where eid in (select eid from event_member where uid = {0})", user_id);

+0

pouvez-vous le faire fonctionner? Je reçois des erreurs parce que l'uid n'est pas indexable. –

+0

voir mes modifications à la réponse ci-dessus. Je suppose que la requête ressemblerait à quelque chose comme FB.Data.query ("sélectionnez le nom de l'événement où eid est dans (sélectionnez eid de event_member où uid = {0})", user_id); – Raine

+0

Ceci renvoie les noms des événements qu'une entité possède, participe ou a simplement été invitée à. Il doit y avoir une autre étape - voir la réponse de Dustin. –

1

Celui-ci le fait

select eid de l'événement où créateur = "facebookPageId $." et eid dans (sélectionnez eid de event_member où uid = ". $ facebookPageId.") ORDER BY start_time DESC

0

Ce lien a un bon tutoriel sur les événements FB et beaucoup plus sur C#.

http://blog.impact-works.com/2011/07/

Mais il utilise une dll qu'il a créé. Mais dès que vous sortez l'idée du blog, vous pouvez utiliser Facebook C# Sdk pour développer tout ce que vous voulez développer.

Et toutes ces informations sont valides pour vous IFF que vous développez dans C# mon ami.

0

utiliser cette requête get

https://graph.facebook.com/ 'votre page Facebook ID'/événements?access_token = votre jeton d'application '& limit = 'nombre d'événements voulait' & après = 1 & champs = propriétaire, nom, description, couverture, id

vous devez d'abord créer une application facebook et obtenir son "application jeton"

dans la colonne fileds vous pouvez spécifier les détails que vous voulez sur l'événement en utilisant les noms API facebook https://developers.facebook.com/docs/graph-api/reference/event/

Questions connexes