plugin - Recuperar comentarios de publicaciones de Facebook mediante Graph API
mostrar ultimos post facebook en mi web (10)
Resulta solo 2 de 15 comentarios
Agregue un parámetro de límite a la URL:
http://graph.facebook.com/[post_id]/comments?limit=1000
Esto debería mostrar todos los comentarios.
Traté de obtener comentarios en Facebook usando:
http://graph.facebook.com/[post_id]/comments
Resulta solo 2 de 15 comentarios y sin información de count
.
{
"data": [
{
"id": "[post_id]",
"from": {
"name": "[name]",
"id": "[id]"
},
"message": "[message]",
"created_time": "2011-01-23T02:36:23+0000"
},
{
"id": "[id]",
"from": {
"name": "[name]",
"id": "[id]"
},
"message": "[message]",
"created_time": "2011-01-23T05:16:56+0000"
}
]
}
Alguien sabe por qué solo 2 comentarios?
Además, deseo recuperar los comentarios (número predeterminado) o recuperar los comentarios con mi número de límite y obtener sus comentarios. ¿Alguna idea? (Por favor use Graph API).
Como un control de cordura, ¿tienes permiso de "lectura_corriente"? Puedo ver los comentarios completos con mi token de acceso que usa "read_stream". Como lo mencionaron otras personas, también debes usar https y token de acceso ...
Experimenté el mismo problema con los comentarios. El problema era que estaba usando un token de acceso para un usuario de prueba. Debido a que los usuarios de prueba no tienen acceso a otra información de usuarios de FB, solo se muestran los comentarios de las páginas.
Hay una palabra JUGAAR en urdu que significa, encontrar una salida, solo para hacer el trabajo. Entonces con el mismo propósito hice este JUGAAR, espero que ayude.
$contents = file_get_contents("http://graph.facebook.com/" . $_GET[''id''] . "/likes");
if (substr_count($contents, ''name'')>0) {
echo substr_count($contents, ''name'') . " people like this album";
}
Por cierto, también soy nuevo en esto de Fb, estoy buscando ayuda para publicar comentarios. Cuando trato de usar graph.api./id/comments?access_token=sdfsfsdf&message="D "todavía devuelve comentarios para el ID en lugar de publicar.
Intente autenticarse a través del Inicio de sesión en la aplicación (http://developers.facebook.com/docs/authentication) y luego para llamar a GraphAPI con access_token prarameter.
Para obtener el recuento Like
y el recuento de comment
, debe utilizar una combinación de PostOwnerID
y PostID
no solo de PostID
Entonces, para su ejemplo, sería:
https://graph.facebook.com/153125724720582_184234384932460/comments
Nuevamente, como se menciona en algunas de las otras respuestas, necesita usar el método https
junto con auth_token
Puede hacer algo como esto para evitar el conteo total de problemas de comentarios:
- Obtiene el ID del objeto ( una publicación se considera un objeto en la API de gráficos ), como entiendo por tu pregunta, ¿ya la tienes?
- Cree un plugin social de comentarios con esta ID y obtenga el código correspondiente.
- Incruste el código en su sitio.
Esto dará como resultado todos los comentarios para este objeto.
Para obtener el recuento de comentarios por objeto, puede ejecutar una consulta fql , algo como esto:
SELECT comments FROM stream WHERE post_id = [yourpostid]
Esto devolverá en la matriz de comentarios bajo el parámetro de recuento el número de conteos para este objeto.
SELECCIONE los comentarios FROM stream DONDE post_id = [yourpostid] no funcionará en este caso ...
La ID que se devuelve después de realizar una llamada gráfica correctamente para publicar en el muro de un usuario (usando access_token de una aplicación) es de la forma abcdef_qwerty (id separado por subrayado) donde el id. de publicación que se mapea en el post_id de la tabla de comentarios es de la forma "lmnop" ..
para obtener los recuentos de "me gusta" y comentarios en esta identificación de publicación de la forma "abcdef_qwerty" haciendo una llamada gráfica, la token de acceso generado por la aplicación parece ser la única solución.
algo así como: https://graph.facebook.com/100002619172565_117323155031656?access_token=xxxxxxxxxxxxx
access_token
llamarlo desde una solicitud segura https
y proporcionar un access_token
:
https://graph.facebook.com/19292868552_118464504835613/comments?access_token=XXX
EDITAR:
Se agregó el objeto del documento de la post
. intente hacer clic en la conexión de comments
y luego eliminar access_token
y probar y ver la diferencia.
Después de iniciar sesión correctamente, llame a este método facebookComments ()
parameters.putString ("campos", "mensaje"); .............// Es importante
AccessToken accessToken = AccessToken.getCurrentAccessToken();
public void facebookComments() {
try {
getFriends(accessToken, new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
Log.e("keshav", "one" + response);
CommonMethod.showAlert("res --> " + response, MainActivity.this);
}
}
);
} catch (Exception e) {
CommonMethod.showAlert("Exception is -> " + e, MainActivity.this);
}
}
public void getFriends(AccessToken token, GraphRequest.Callback callback)
{
// TODO Comments Working but id return only
GraphRequest requestt = new GraphRequest(token, "744511125731315_751199848395776/comments",
null, HttpMethod.GET, callback);
Bundle parameters = new Bundle();
parameters.putString("fields", "id"); // todo in use imp
parameters.putString("fields", "name"); // todo in use imp
parameters.putString("fields", "from"); // todo in use imp
parameters.putString("fields", "message"); // todo in use imp
requestt.setParameters(parameters);
requestt.executeAsync();
}