2010-10-27 18 views
5

Estoy tratando de obtener datos de Facebook, usando el gráfico API.Facebook gráfico api - algunas páginas devuelven el conjunto de datos vacío

La solicitud que realizo se ve así: http://graph.facebook.com/<page_name>/, devuelve datos básicos sobre la página. Si solicito: http://graph.facebook.com/<page_name/feed/, obtengo un json con datos del feed de esta página.

Hay algunas páginas que requieren autenticación para acceder a ellas, por ejemplo, la página de Smirnoff (http://graph.facebook.com/Smirnoff) y algunas otras páginas de "alcohol" (creo). Así que generé access_token para la aplicación que estoy usando, dándole los permisos para acceder a mi cuenta. Ahora soy capaz de obtener los datos básicos para Smirnoff, pero cada vez que intento acceder a los datos de nivel inferior (como feed o posts), consigo un conjunto vacío en JSON:

{ 
    "data": [ 

    ] 
} 

¿Hay alguna forma de llegar a esta información desde la API? ¿O está bloqueado por el propietario de la página? ¿O tal vez mi aplicación autorizada necesita permisos adicionales?

Respuesta

0

Gran parte del contenido al que intenta acceder solo está disponible a través de la API si usted es administrador de esa página. Cuando recibe un conjunto vacío como resultado, casi siempre sucede que el token de acceso proporcionado no tiene permiso para acceder a lo que está solicitando. Si el token de acceso no es válido, la API arrojaría un error.

+2

Ok, pero dado que el contenido de esta página está disponible a través de FB www, ¿no debería poder obtenerlo a través de API? – kender

+1

Esto es muy molesto. ¿Podemos obtener alguna aclaración sobre esto? 6 años después –

2

Parece que algo anda mal con la página que ha mencionado. Intenté https://graph.facebook.com/Smirnoff en mi Firefox y obtuve el mensaje de error "falso".

Probé la página mencionada en el documento oficial (https://developers.facebook.com/docs/reference/api/) y no encontré ningún problema.

Páginas: https://graph.facebook.com/cocacola (página Coca-Cola)

{ 
    "id": "40796308305", 
    "name": "Coca-Cola", 
    "picture": "http://profile.ak.fbcdn.net/hprofile-ak-snc4/203509_40796308305_256509_s.jpg", 
    "link": "https://www.facebook.com/coca-cola", 
    "category": "Food/beverages", 
    "likes": 29964683, 
    "website": "http://www.coca-cola.com", 
    "username": "coca-cola", 
    "founded": "1886", 
    "products": "Coca-Cola is the most popular and biggest-selling soft drink in history, as well as the best-known product in the world.\n\nCreated in Atlanta, Georgia, by Dr. John S. Pemberton, Coca-Cola was first offered as a fountain beverage by mixing Coca-Cola syrup with carbonated water. Coca-Cola was introduced in 1886, patented in 1887, registered as a trademark in 1893 and by 1895 it was being sold in every state and territory in the United States. In 1899, The Coca-Cola Company began franchised bottling operations in the United States.\n\nCoca-Cola might owe its origins to the United States, but its popularity has made it truly universal. Today, you can find Coca-Cola in virtually every part of the world." 
} 

Creo que debería llegar el mensaje advirtiéndome que debo utilizar un token de acceso al intentar https://graph.facebook.com/Smirnoff.

OK. Déjame continuar (Por favor, reemplace el texto en negrita con el valor correcto.)

  1. Inicie sesión en Facebook y cree una aplicación de Facebook.

  2. Por favor, visite este enlace: https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID & redirect_uri = URL & alcance = user_status, offline_access

  3. Por favor, permita que su aplicación de Facebook.

  4. favor obtener el token de acceso a través de este enlace: https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID & client_secret = YOUR_APP_SECRET & grant_type = client_credentials

  5. favor obtener el token de acceso de aplicaciones a través de este enlace: https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID & client_secret = YOUR_APP_SECRET & grant_type = client_credenti als

  6. Por favor, visite su página con el access_token que acabo de obtener.

Según https://developers.facebook.com/docs/reference/api/, Las conexiones admitidas para las personas y las páginas que incluyen:

Friends: https://graph.facebook.com/me/friends?access_token=... 
News feed: https://graph.facebook.com/me/home?access_token=... 
Profile feed (Wall): https://graph.facebook.com/me/feed?access_token=... 
Likes: https://graph.facebook.com/me/likes?access_token=... 
Movies: https://graph.facebook.com/me/movies?access_token=... 
Music: https://graph.facebook.com/me/music?access_token=... 
Books: https://graph.facebook.com/me/books?access_token=... 
Notes: https://graph.facebook.com/me/notes?access_token=... 
Permissions: https://graph.facebook.com/me/permissions?access_token=... 
Photo Tags: https://graph.facebook.com/me/photos?access_token=... 
Photo Albums: https://graph.facebook.com/me/albums?access_token=... 
Video Tags: https://graph.facebook.com/me/videos?access_token=... 
Video Uploads: https://graph.facebook.com/me/videos/uploaded?access_token=... 
Events: https://graph.facebook.com/me/events?access_token=... 
Groups: https://graph.facebook.com/me/groups?access_token=... 
Checkins: https://graph.facebook.com/me/checkins?access_token=... 

Si la página es una página de música, utiliza este enlace: https://graph.facebook.com/me/music?access_token=señal_acceso

Por favor, deje yo sé si mi método funciona. Gracias.

+0

parece que las páginas relacionadas con el alcohol están disponibles a través de API solo con autorización adicional ... de ahí la diferencia entre coca-cola y Smirnoff. – kender

+0

Hola kender, actualicé mi respuesta. – Box

+0

@kender, ¿sabes qué son esas "autorizaciones adicionales"? A veces recibo datos de publicaciones vacías y sospecho que se lo censura de alguna manera ... – PEZ

2

La página debe ser publicado o nada está apareciendo en la alimentación

+0

¡Es bueno saberlo! ¿Cómo puedo verificar a través de la API gráfica si la página está publicada? – Roni

-3

consigo el error sobre todo en la Coca-Cola. Cuando envío mi access_token en el GET, puede extraer las fotos de sus álbumes. Si no lo hago, es solo un conjunto vacío.

Cuestiones relacionadas