2010-05-12 20 views
10

Me gustaría saber cómo agregar una imagen a un evento usando la API Graph de Facebook. He visto this question y he intentado algunas variaciones sobre ese tema, sin ningún éxito. La documentación oficial no parece mencionarlo.¿Cómo subir una imagen para un evento usando la API Graph de Facebook?

Estoy usando PHP para este proyecto en particular y he visto el código fuente de PHP SDK, que no es útil de ninguna manera. Solicitar metadatos para imágenes usando https://graph.facebook.com/eventid/picture?metadata=1&access_token ... no parece ser reconocido, por lo tanto, no hay ayuda allí.

¿Alguien ha encontrado algún ejemplo o documentación sobre cómo hacer esto? (no importa qué idioma es)

Respuesta

-1

Parece ser algo que aún no es compatible con Graph API. No se menciona en la documentación oficial, y los intentos Graph-ify old style API calls no parecen funcionar.

Ha habido cierto debate sobre lo que varias personas han tratado en este foro: http://forum.developers.facebook.com/viewtopic.php?id=56717

Por ahora, parece que la única opción es utilizar la API de edad (official documentation). La respuesta de Paarth proporciona algunos enlaces útiles adicionales para comenzar con eso. Sin embargo, como mi pregunta era específicamente sobre Graph API, la respuesta (por ahora) es: no se puede hacer.

Actualizaré esta respuesta ya que el soporte para la carga de imágenes de eventos se agrega a Graph API.

+0

La api del gráfico admite esto mediante el uso del argumento "fuente". – Zilverdistel

2

Mientras buscaba el problema, encontré los siguientes enlaces que podrían ser de su interés.

http://wiki.developers.facebook.com/index.php/PHP

http://wiki.developers.facebook.com/index.php/Photos.upload

http://developers.facebook.com/docs/reference/rest/

En último eslabón, check "métodos de publicación" y "tablero métodos de la API". Tiene métodos para subir videos y fotos.

Foto: http://developers.facebook.com/docs/reference/rest/photos.upload

vídeo: http://developers.facebook.com/docs/reference/rest/video.upload

-------------- --- EDITAR 21 de mayo de 2010,8: 58 PM IST ---------------------

Compruebe este hilo, muestra el código de subida de la foto en PHP utilizando la API gráfica que usted mencionó.

Upload Photo To Album with Facebook's Graph API

espero que esto ayude.

gracias.

+1

He visto esas páginas, pero no se trata de Graph API. Si bien la API anterior será compatible durante un tiempo, estoy escribiendo mi aplicación web para que dure un tiempo sin mantenimiento. Como tal, me gustaría usar la API actual. Ya uso Graph API para varias otras tareas, y mezclar diferentes API haría las cosas un tanto complicadas. – Thorarin

+0

Compruebe el enlace que agregué en la edición. También verifique esta nueva API java facebook ligera. Puede ser que puedas encontrar alguna referencia de él. ** http: //restfb.com/** gracias. – Parth

1

que tenían el mismo problema, este trabajo código para mí:

// create the event 
// ... 

// upload the picture 
$file = "pathtothefile"; 
$args[basename($file)] = '@' . realpath($file); 
$data = $facebook->api('/'. $event_id, 'post', $args); 

Pero a veces me sale "(# 324) Falta o archivo de imagen válido"

14

Esto es apoyado por el API de gráficos Sin embargo, está poco documentado. Debe enviar la imagen como archivo adjunto multiparte en la solicitud POST. Pruebe esto:

curl -F 'access_token=...' \ 
-F 'name=Test Event' \ 
-F 'description=The description' \ 
-F 'start_time=2012-09-01T12:00:00+0000' \ 
-F '@[email protected]/path/to/image.jpg' \ 
https://graph.facebook.com/me/events 

Ese evento debe tener una imagen.

They have recently added support for this al SDK de PHP.

He bifurcado their python-sdk y he añadido soporte para varias partes, y he agregado un método simple de put_event que acepta una url para una imagen, así como los parámetros habituales.

+0

Michael, gracias por este tenedor de pitón, funciona genial. Sin embargo, tuve que hacer una pequeña corrección localmente para que funcionase; si no especifica el parámetro 'id' de 'put_event', de manera predeterminada es 'me/events', lo que bloquea HTTPSConnection más adelante en el código. Debería ser '/ me/events'. Por favor actualiza tu tenedor cuando tengas tiempo. –

0

Aquí hay un ejemplo de muestra usando FbGraph escrito por Nov Matake en Ruby on Rails. Paso muchas horas para descubrir, Cómo subir una imagen para un evento. Espero que esto ayude y ahorre a los demás tiempo.

me = FbGraph::User.me(ACCESS_TOKEN) 
event = me.event!(
    :name => 'FbGraph test event', 
    :start_time => 1.week.from_now.to_i, 
    :end_time => 2.week.from_now.to_i, 
    :picture => File.new("/home/jeetu/Desktop/my_birthday.png") 
) 
Cuestiones relacionadas