2010-05-25 8 views
7

Qualcuno sa come posso ottenere un elenco di eventi di proprietà (creati) da una pagina Facebook?Ottenere un elenco di eventi di proprietà di una pagina Facebook

Mi sembra di essere in grado di utilizzare il "grafico api" per generare un elenco degli eventi di un'entità è partecipanti a. Ho anche guardato FQL, ma sembra che richieda che la clausola 'where' sia un campo indicizzabile (e, naturalmente, l'id è l'unico campo indicizzabile).

Per i punti bonus, saremo in grado di farlo senza alcuna autenticazione. (Anche se sono rassegnato al fatto che probabilmente avrò almeno un access_token permanente.)

Se qualcuno sa come farlo sarei eternamente grato.

risposta

5

Tutti FQL accesso ai dati requir autenticazione, quindi dimentica quei "punti bonus".

Ciò richiederà un trattamento post-query poiché, come hai detto, la clausola FQL WHERE rispetta solo i campi indicizzabili e il campo owner.id non è indicizzabile. Quindi, per prima cosa iniziamo identificando gli eventi che l'utente è un "membro" e caricando le informazioni del proprietario per quegli eventi.

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

Dopo che la query restituisce un set di dati, dobbiamo controllare manualmente righe in cui owner.id sia pari uid.

+0

Questa è la risposta che risponde veramente alla domanda e dovrebbe avere la generosità. Sfortunatamente sono stato catturato dal mio PC e non ho potuto accettare la risposta sul mio telefono. Scusa Dustin. –

+0

Haha eccellente :) – defines

+0

id non è un membro della tabella eventi –

1

Sembra che si deve interrogare prima la tabella event_member, utilizzando l'uid

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

e poi una volta che hai l'Eid degli eventi è possibile interrogare la tabella di eventi in cui l'eid è indicizzato http://developers.facebook.com/docs/reference/fql/event

e sono sicuro che è possibile utilizzare la prima come una sottoquery della seconda domanda come var query = FB.Data.query("select name from event where eid in (select eid from event_member where uid = {0})", user_id);

+0

potete farlo funzionare? Ottengo errori perché uid non è indicizzabile. –

+0

vedere le mie modifiche alla risposta sopra. Immagino che la query sia simile a FB.Data.query ("seleziona nome dall'evento in cui eid in (seleziona eid da event_member dove uid = {0})", user_id); – Raine

+0

Restituisce i nomi degli eventi che un'entità possiede, partecipa o è stata semplicemente invitata a. Ci deve essere un altro passo - vedi la risposta di Dustin. –

1

Questo lo fa

selezionare eid dall'evento in cui creatore = "$ facebookPageId." e eid in (selezionare eid da event_member dove uid = ". $ facebookPageId.") ORDINA BY start_time DESC

0

Questo collegamento ha un buon tutorial sugli eventi FB e molti altri su C#.

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

Ma egli utilizza una DLL che ha creato. Ma non appena l'idea viene fuori dal blog, puoi usare Facebook C# Sdk per sviluppare qualsiasi cosa tu voglia sviluppare.

E tutte queste informazioni sono valide per te IFF che stai sviluppando in C# amico mio.

0

uso questa richiesta get

https://graph.facebook.com/ 'vostra pagina di Facebook ID'/eventi?access_token = 'l'applicazione token' & limite = 'numero di eventi ha voluto' & dopo = 1 & campi = proprietario, nome, descrizione, la copertura, id

prima è necessario creare un'applicazione Facebook e ottenere la sua 'app Token'

nella colonna di Campi è possibile specificare i dettagli che si desidera sull'evento utilizzando i nomi di Facebook API https://developers.facebook.com/docs/graph-api/reference/event/

Problemi correlati