2010-09-21 28 views
8

He estado investigando la API Open Graph de Facebook. Existe un permiso extendido "administrar páginas" que permite publicar en el feed/muro de noticias de la página de Facebook de un usuario a través de "suplantación". Esta es una buena funcionalidad, pero ¿hay algo más que pueda hacer a través de la API?Administrar las pestañas de la página de Facebook a través de Open Graph API?

Específicamente, me gustaría poder agregar o eliminar una aplicación "Tab" de la página de un usuario a través de la API. En este momento es complicado guiar a un usuario a través del proceso de agregar una aplicación de pestañas a su página de Facebook de negocios (o lugar), y sería IMPRESIONANTE si pudiera otorgarle permiso a mi aplicación y pudiera agregarla con la API. .

Básicamente me pregunto si la API permite una verdadera "gestión de páginas", o simplemente publicar en la Página.

¿Alguien tiene alguna experiencia con esto?

¿Es lo mejor que puedo hacer apuntándolos a la página "add.php" con la variable "GET" de la página (por ejemplo, http://www.facebook.com/add.php?api_key=xxxx&pages=1&page=xxxxxx)? Esto funciona bien para AGREGAR una aplicación de pestañas, pero no hay nada que los ayude a ELIMINAR una aplicación de su Página hasta donde yo sé.

Gracias!

+2

que parece que podría ser capaz de, al menos, ver si la aplicación que estoy utilizando se ha añadido a la página a través de la consulta http://developers.facebook.com/docs/reference/fql/page "has_added_app" FQL – thaddeusmt

Respuesta

13

Cabe destacar ahora, para cualquiera que vea esta pregunta (! Que está celebrando su 1er cumpleaños), que Facebook mejoró significativamente su funcionalidad API vuelta en julio de 2011. Ahora puede Agregar, Eliminar, Cambiar nombre, Reordenar y establecer pestañas como Predeterminado a través de la API de Open Graph. La entrada del blog está aquí:

https://developers.facebook.com/blog/post/524/

Y la documentación oficial está aquí:

https://developers.facebook.com/docs/reference/api/page/#tabs

Lo que Facebook aún no cuenta con un nuevo método de API para crear nuevas aplicaciones de la ficha, o para cambiando el ícono de la pestaña. ¡Este es un gran paso!

ACTUALIZACIÓN: hay error en el nuevo gestor de fallos a seguir sobre la creación de aplicaciones en la API si quieres seguirlo y ver lo que hacen: http://developers.facebook.com/bugs/295627350461318

+0

acaba de publicar nuevo una pregunta y respuesta acerca de cómo actualizar las nuevas imágenes de la ficha de páginas Línea de tiempo a través de la API: http://stackoverflow.com/questions/9503366/how-to-upload-custom-app-image-tab-image -para-timeline-page-pestañas-via-api/9522597 – thaddeusmt

+0

el enlace para la documentación oficial pestañas ha cambiado a: https://developers.facebook.com/docs/graph-api/reference/v2.2/page/ pestañas – donut

2

Sí, lo mejor que puedes hacer es dirigirlos a la URL add.php. No puede hacer nada para ayudarlos a eliminar la aplicación.

La buena noticia es que el usuario solía tener que pasar por el proceso de agregar Y decidir físicamente "habilitar" la pestaña encontrándola en el menú desplegable de la pestaña en la página. Facebook ha cambiado recientemente eso y parece que la pestaña ahora se habilita inmediatamente después de que un usuario agrega la aplicación a su página.

En cuanto a "has_added_app" que funciona ... sorta. Le dirá si la aplicación se agregó a la página, pero no le indicará si la pestaña está habilitada. Por ejemplo, un usuario puede deshabilitar la pestaña pero aún así tener la aplicación instalada en la página. Por lo tanto, "has_added_app" devolverá verdadero aunque la pestaña no sea realmente visible.

+0

Gracias por la respuesta! Temía que este fuera el caso, solo me preguntaba para asegurarse de que no había "características" ocultas. Tendré que jugar con has_added_app, que al menos es algo útil. – thaddeusmt

3

Hay una manera de hacerlo a través de la API. Finalmente lo pusimos a funcionar, después de muchas horas de sudor y lágrimas :)

Puede agregar una pestaña a una página sin salir de su aplicación. Aquí hay un fragmento de código que usamos para eso. Obtenemos una lista de las páginas que administra un usuario, las mostramos en un menú desplegable y le pedimos que seleccione a qué página desea agregar nuestra pestaña "Mi perfil de agente".

y el producto final se ve algo como esto - http://www.facebook.com/pages/Jennifer-Anderson-Real-Estate-Agent/185071901564573?sk=app_253956901293839

protected void btnAddTab_Click(object sender, EventArgs e) 
{ 
    if (ddlPage2.SelectedIndex >= 0) 
    { 
     FaceBookPages page = FaceBookPages.LookupByPageID(long.Parse(ddlPage2.SelectedValue)); 
     if (page == null) 
      throw new NPlaySysException("FaceBookPages is null."); 

     AnalyticLog log = new AnalyticLog(); 
     log.EventID = FBCommon.Events.AddAgentAppTabID; 
     log.UserID = UserID; 
     log.EventTime = DateTime.Now; 
     log.Update(); 

     string result = FacebookSvc.AddTab(Web.AgentAppID, "me", page.AccessToken); 
     if (result.Equals("true")) 
     { 
      FaceBookPages.UpdateAgentProfileAdded(page.PageID, true); 
      List<FaceBookPages> notTabbedPages = FaceBookPages.LookupAgentProfileNotAddedByUserID(UserID); 

      imgStep3.ImageUrl = StepDoneImagePath; 
      divStep3.Attributes["class"] = StepDoneCssClass; 
      phStep3.Visible = false; 
      Step3Done = true; 
      btnCloseStep3.Visible = false; 

      if (notTabbedPages.Count > 0) 
       btnEditStep3.Visible = true; 
      else 
       btnEditStep3.Visible = false; 
     } 
     else 
     { 
      lblErrorAddTab.Text = "Failed to add your profile to page."; 
      Web.EmailError(string.Format("FacebookSvc.AddTab Failed. result={0}<br />UserID={1}<br />PageID={2}", result, UserID, page.PageID)); 
     } 
    } 
} 
+0

Gracias Daniel, tendré que probar esto. – thaddeusmt

Cuestiones relacionadas