2012-06-05 14 views
5

Estoy intentando subir una foto a Facebook a través de Graph API en una cuenta de usuario de prueba para mi aplicación. Con solo los parámetros url, link, name presentes, la carga funciona bien al devolver una identificación con foto válida.Publicar una foto en Facebook a través de Graph API: OAuthException: (# 100) las etiquetas param deben ser una matriz

Sin embargo, si uso el tags parámetro adicional, termino con el siguiente error devuelto:

{ 
    "error": { 
    "message": "(#100) param tags must be an array.", 
    "type": "OAuthException", 
    "code": 100 
    } 
} 

He tratado de proporcionar el valor de tags en casi todas las formas posibles que se me ocurre de, como sé, Graph API no es sencillo (incluso el parámetro url que se utiliza para cargar una foto desde una URL no se enumera en el método photo Graph API);

Un único ID de usuario de

tags=100003919104407

varios ID de usuario CS'd

tags=100003919104407,100003919104408,100003919104409

matriz con ids no como números enteros

tags=[100003919104407, 100003919104404,100003919104405]

matriz con las identificaciones como cadenas

tags=["100003919104407", "100003919104404","100003919104405"]

matriz que contiene los objetos, según la documentación de la API de Facebook Graph

tags=[{"id":"100003919104407"},{"id":"100003919104404"},{"id":"100003919104405"}]

Si alguien podría decirme el formato/anot correcto su parámetro a través del cual pasar identificadores de usuario para que se etiqueten en una foto, estaría muy agradecido.

+0

chicos con los que puede probar esta [solución] [1] [1]: http://stackoverflow.com/questions/10742120/unable-to-upload-and-tag-photo-on-facebook-application-php/10764438#10764438 –

Respuesta

5

Prueba este

Debe ser en este formato

[{"to":"100003919104407","x":0,"y":0}, 
{"to":"100003919104408","x":10,"y":10}, 
{"to":"100003919104409","x":20,"y":20}] 

o

[{"tag_uid":"100003919104407","x":0,"y":0}, 
{"tag_uid":"100003919104408","x":10,"y":10}, 
{"tag_uid":"100003919104409","x":20,"y":20}] 
+0

El segundo parece funcionar, (devuelve 'true') pero cuando reviso el objeto de la foto para una conexión' tags', ninguno existe. – Avicinnian

+0

Pruebe con 'id' en lugar de tag_uid. antes había usado tag_uid. pero doc especificando id en alguna parte y en alguna parte. así que debes probar eso también. – Venu

+0

¿Revisaste el comentario que obtuviste para preguntarte? Parece que solo puedes etiquetar una foto existente. Por favor, inténtalo. – Venu

1

¿De dónde sacaste tu información? ¿Ha marcado la sección tags?

Crear

Puede crear una etiqueta en la foto mediante la emisión de una solicitud HTTP POST a la conexión de etiquetas, photo_id/etiquetas.

Nota: Esta función está destinada a ayudar a los usuarios a etiquetar a sus amigos en fotos reales . No debe usar esta función para alentar a los usuarios a marcar sus amigos si sus amigos no están realmente en esa foto, o etiquetar amigos en fotos compuestas. Si se encuentra que su aplicación es fomentando este comportamiento, es posible que su uso de esta función esté deshabilitado.

Puede especificar qué usuario para etiquetar utilizando dos métodos: en la ruta URL como photo_id/tags/USER_ID, o en un parámetro de URL como photo_id/etiquetas para USER_ID =?.Para agregar varias etiquetas a la vez, puede especificar una propiedad de etiquetas que contiene una matriz de etiquetas como PHOTO_ID/tags? Tags = [{"id": "1234"}, {"id": "12345"}] . Actualmente, no se puede etiquetar una página en una foto con esta API.

También hay un example.

1

el valor X e Y de la matriz tienen que ser%, no en píxeles

Ejemplo 1 (incorrecto)

img: (640480) xy: (320240) [{tag_uid: user_id, x: 320, y: 240}] < - mal, porque 320> 100%

Ejemplo 2 (derecha) img: (640480) xy: (320240) px: (320240) <%

[{tag_uid: user_id, x: 50, Y: 50}] < - Claro, porque 50 < 100%

Cuestiones relacionadas