Pregunta

Estoy desarrollando una aplicación para Facebook en PHP, parte de la cual las listas de "me gusta" de los usuarios. Me gustaría añadir un enlace junto a cada uno como por lo que el usuario puede gestionar sus gustos borrándolos cuando lo estimen conveniente.

Facebook menciona esto en sus documentos Graph API:

  

Se puede eliminar una como mediante la emisión de una solicitud DELETE a / POST_ID / gustos (desde gustos no tienen un ID).

Pero cada uno como debe tener un id - ¿Cómo más se puede borrarla

¿Alguien ha hecho esto antes?

¿Fue útil?

Solución

Sí, gustos no tienen una identificación en el API de gráficos. Usted similares o distintas, un elemento mediante la publicación o deleteing a {item_id}/likes, donde {item_id} se sustituye por el ID del objeto que está gustando / unliking.

Para saber lo que el usuario actual ha gustado (para que pueda eliminar de manera apropiada), se puede utilizar el "me gusta" de conexión del objeto de usuario ( docs ). Por lo tanto, si usted solicita http://graph.facebook.com/me/likes, obtendrá una lista de páginas / personas / todo lo que un usuario ha gustado. (Nota: esto no incluye los mensajes o fotos o cosas por el estilo)

Esto devolverá una matriz de datos completos de este tipo de elementos:

{
     "name": "Very Hungry Caterpillar",
     "category": "Artist",
     "id": "29956247793",
     "created_time": "2009-03-27T15:48:29+0000"
}

El ID de ahí es no el ID por el estilo. Es el ID del objeto que el usuario ha gustado, por lo que con el fin de no-gusta, lo que tiene que hacer un DELETE para http://graph.facebook.com/29956247793/likes.

Otros consejos

No es el 'como' que tiene una identificación, que es el cargo - por lo que los usos llamada a la API '/ POST_ID / gustos' como un objetivo - si elimina '/ POST_ID', que va a deshacerse de la puesto, pero si elimina '/ POST_ID / le gusta' que va a deshacerse del usuario del 'como' para ese puesto.

Le gusta ¿Tiene un ID.

Si nos fijamos en https://graph.facebook.com/me/likes , verá que los datos resultantes Qué contiene un valor de ID para cada uno.

{
   "data": [
      {
         "name": "Audi",
         "category": "Consumer_products",
         "id": "96585976469",
         "created_time": "2010-09-27T15:30:15+0000"
      }
    ]
}

Es posible que desee para tratar de allí la ID, me he dado cuenta de que la documentación del API FB tiene a veces errores.

Editar : Creo que esto también puede ser un problema de terminología, como lo que el médico dice que no tiene ID es probablemente le gusta a un puesto de usuario, y éstos probablemente realmente no tienen un ID y puede ser eliminado mediante la emisión de un borrado al POST_ID / gustos. Luego está la talla generados por las páginas gusto y / o sitios web externos a través del botón similar, y estos no tienen una identificación. Confuso, lo es.

Con OpenGrpah, gustos no tienen ID, que es el campo ID único en el objeto devuelto por una llamada de API para og.likes.

a diferencia usando access_token que se usa para hacer de este como .

Pseudocódigo:

a como:

FacebookGraphApi::getInstance()->setAccessToken('xxx')->post('xxxxxx/likes')

a diferencia de:

FacebookGraphApi::getInstance()->setAccessToken('xxx')->delete('xxxxx/likes')
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top