2011-10-05 33 views
13

Estoy desarrollando una aplicación web, que se conecta a Facebook, para obtener publicaciones y otras cosas que gustan a los usuarios. Tengo problemas para obtener todas las publicaciones de la página del usuario mediante el servicio de noticias (conexión de inicio de la API de Grap).Facebook Graph Api json missing posts

Al obtener el token de acceso en mi aplicación para el usuario, solicito read_stream, user_activities y permisos de acceso sin conexión. Entonces, cuando yo uso ese modo, para conseguir imágenes de JSON para

https://graph.facebook.com/me/home/?access_token=<retrived_access_token> 

algunos mensajes (que son muestran en la página de usuario) están desaparecidos. Descubrí que las publicaciones de mis amigos, que solo pueden ver sus amigos, no se muestran en esa fuente. El mismo problema es con las publicaciones de usuarios que estoy suscribiendo actualmente.

Estuve buscando en eso por un tiempo, y encontré, que cuando uso el enlace desde http://developers.facebook.com/docs/reference/api/ para obtener mi fuente de noticias, hay muchas más publicaciones. Parece usar un token generado para la aplicación de la consola de prueba para facebook api.

Luego traté de generar token de acceso que me daría resultados similares usando http://developers.facebook.com/tools/explorer?method=GET. Pero incluso cuando le doy al token generado todos los permisos posibles, no pude hacerlo funcionar bien, todavía faltaban algunas publicaciones.

He leído la respuesta en esa publicación, Facebook graph API does not return all posts for user, que sugiere que esto se debe a los permisos establecidos por mi gente que publica publicaciones, que no quieren que sus datos sean recuperados por una aplicación. Ejecuté una prueba rápida y descubrí que cambiar esa configuración funciona (cuando alguien cambie esa configuración, desaparecerán sus publicaciones de ambas fuentes, es decir, usar el token de mi aplicación para el usuario y el enlace en la página de referencia de la API), pero no es el caso.

Parece que este token generado en la página de referencia de la API tiene un permiso especial.

Realmente necesito obtener tantas publicaciones de la página de usuario como sea posible. Sé que no los bloquearé por su autor, pero como muchos de mis usuarios se suscriben a otros usuarios, realmente necesito tener acceso al tipo de publicaciones que se muestran en la página del usuario.

También leí Facebook graph API: feeds missing in json response pero tampoco me ayudó.

Realmente agradeceré cualquier ayuda.

+1

He logrado responder la mayoría de mis preguntas [aquí] (http: // stackoverflow.com/questions/6214535/what-is-the-difference-between-feed-posts-and-statuses-in-facebook-graph-api/7983267 # 7983267), sin embargo, aún otorgaría la recompensa a cualquier respuesta clara y útil que puede complementar esa información. –

Respuesta

4

Es imposible obtener una lista completa de las publicaciones de la API gráfica de feed/home, pero puede usar FQL para consultar la tabla stream para obtener casi todas las publicaciones hechas por amigos, aquí hay un ejemplo rápido de cómo lo haría hacer eso con el SDK javascript:

var query = 'SELECT post_id FROM stream WHERE filter_key = "others"'; 
FB.api('fql', {'q': query}, function(posts) { console.log(posts.data); }); 

Esto obtendrá los identificadores de correos, que luego se puede utilizar con la API gráfica para buscar el resto de la información posterior. O puede obtener la lista completa de campos aquí, no puede seleccionar * en FQL, por lo que tendrá que enumerar cada pieza que desee y luego obtener comentarios y "me gusta" y nombres por separado.

+0

también, FQL admite LIMIT que deberá agregar para obtener más resultados – zachallia

+0

¿sabe por qué es casi imposible? Parece que no puedo encontrar una respuesta clara. – studgeek

+2

@studgeek es imposible porque Facebook se niega a devolver todas las publicaciones sin filtro y porque los amigos tienen configuraciones de privacidad que bloquean objetos de las aplicaciones específicamente, incluso si no están bloqueados en Facebook regulares – zachallia

1

Hay un error asignado/medio en esto en http://developers.facebook.com/bugs/228057243915183. Puede aumentar la prioridad suscribiéndose e indicando que puede reproducirla.

También ver http://developers.facebook.com/bugs/231621496918030 donde Facebook dijo "la tabla de flujo y yo/gráfico tienen limitaciones. Consulte la documentación para obtener más información. Estamos tratando de dejar esto más claro en el futuro". Personalmente, no creo que realmente haya más información en la documentación.

Cuestiones relacionadas