2012-06-28 46 views
6

Estoy tratando de mostrar automáticamente publicaciones en el muro de una página de Facebook en otro sitio web. Puedo usar Graph API explorer para obtener uno manualmente. Cuando uso el token generado en mi código, todo está bien. El problema es que los tokens caducan rápidamente. Simplemente no es práctico obtener un nuevo código varias veces al día. Sé que hay una manera de solicitar un token de acceso programáticamente, en mi caso a través de PHP, pero todos los ejemplos requieren una aplicación secreta. Como esta es una página y no una aplicación, no hay ningún secreto.Cómo obtener un token de acceso de Facebook para una página sin aplicación o aplicación secreta

He intentado esto:

https://graph.facebook.com/oauth/authorize?type=user_agent&client_id=MY_CLIENT_ID&redirect_uri=http%3A%2F%2FMY_SITE_URL&scope=user_status

Lo que se obtiene es la siguiente:

{ "error": { "mensaje": ". Error de aplicación validar No se puede obtener información sobre las aplicaciones debido a un error del sistema ", "tipo.": "OAuthException", "código": 101 }}

He intentado usar Fiddler para interceptar la llamada del Graph API Explorer para ver lo que necesito en mi archivo de código, pero no he tenido suerte.

+0

_ "Como esta es una página y no una aplicación, no hay ningún secreto." _ - bueno, entonces solo crea una aplicación, crea es mucho más fácil que tratar de "evitarlo" sin tener una aplicación real. No es necesario que configure ninguna página de aplicación, lienzo o URL de pestaña de página; solo cree la aplicación y tal vez configure un dominio para iniciar sesión, y luego obtenga tokens de acceso con esa aplicación, hágalos de larga duración y consulte el Graph API con estos tokens. – CBroe

Respuesta

1

Para objetos gráficos que no son privados (públicos) puede usar su app_id como access_token.

Su app_id nunca cambia, por lo que no tendrá que renovarla. La pregunta es ¿el contenido de la pared es tuyo?

Si es así, puede usar fácilmente su app_id para lograr esto sin tener que solicitar un token de acceso cada vez.

Sin embargo, para tener un app_id debe crear una aplicación en Facebook con una cuenta de desarrollador de Facebook.Por lo que tengo entendido, no existe una forma de solicitar anónimamente Graph API,

+0

Como desarrollador web de la empresa, se me ha otorgado acceso de administrador a la página. Supongo que necesito mejorar la educación en la terminología de Facebook. Me confunde mucho. No entiendo cómo la creación de una aplicación ayudará, y sin embargo, eso ha sido recomendado dos veces. E incluso si lo hago, ¿cómo hago una asociación entre la aplicación y la página existente? –

+0

No importa. Tiene sentido ahora. Acabo de crear una aplicación y solicité un token de acceso y las publicaciones en el muro vuelven a funcionar. Gracias. –

+5

He intentado utilizar app_id como token de acceso para publicar datos en mi página de Facebook, pero recibí el error "Token de acceso de OAuth no válido". Si tiene algún código de ejemplo, actualice. –

14
  1. Utilice la aplicación-id para construir este enlace para autorizar la gestión de páginas https://www.facebook.com/dialog/oauth?client_id=MY_CLIENT_ID&redirect_uri=MY_SITE_URL&scope=manage_pages&response_type=token

  2. Cambio de Ficha para la ondulación permanente (ya token)
    https://graph.facebook.com/oauth/access_token?client_id=MY_CLIENT_ID&client_secret=MY_CLIENT_SECRET&grant_type=fb_exchange_token&fb_exchange_token=(from Link1)

  3. visita esta página , encuentre la PÁGINA que desea publicar y copie la nueva access_token https://graph.facebook.com/me/accounts?access_token= (desde link2)

  4. Utilice esta última ficha (forma link3) para publicar en la página como aplicación

  5. Toma nota ya que expirará en 60 días. (FB ya no ofrece token de acceso en línea ilimitado)

edición (2013 Oct 24): quinto punto ya no es así, Página Acceso Fichas genera a partir de tokens de usuario de larga vida no caducan.

Editar (feb 2016): Los tokens ahora "caducan" normalmente en 60 días pero pueden invalidarse en cualquier momento.

+0

Gracias por la respuesta rápida. Cuando intento el primer paso, aparece "Ha ocurrido un error. Inténtalo de nuevo más tarde". He intentado pasos similares en este proceso y esa es la respuesta que usualmente recibí. Además, no quiero administrar páginas o publicar en la página. Simplemente quiero leer publicaciones en el muro de la página y publicarlas en otro sitio. Finalmente, ¿las páginas tienen secretos? Sé que las aplicaciones sí, pero esta no es una aplicación. Esa ha sido una de las principales frustraciones al tratar de resolver esto, casi todos los ejemplos que se dan en el mercado asumen que estás intentando adjuntar a una aplicación, no a una página. Gracias de nuevo. –

+0

¿Ha cambiado los valores CLIENT_ID y SITE_URL? – MPaulo

+0

¿Por qué "el 5º punto ya no es cierto" ??? ¿Realmente la fecha de caducidad es de 60 días o es ilimitada? http://facebooksdk.net/docs/web/handling-expired-access-tokens/ – Elyor

Cuestiones relacionadas