Funcionalidad de Facebook desde la línea de comando.
gem install facebook-cli
(puede requerir sudo)
Para interactuar con la API de Facebook, debe crear y configurar una aplicación de Facebook para su uso personal. Siga estas instrucciones cuidadosamente:
Vaya a https://developers.facebook.com/apps y cree una nueva aplicación (captura de pantalla)
Configurar un nuevo producto "Inicio de sesión en Facebook"
No te molestes en elegir una plataforma. En su lugar, haga clic en "Configuración" en "Inicio de sesión de Facebook" en la barra lateral.
En "URI de redireccionamiento de OAuth válidos", agregue: https://localhost:3333/
(esto es necesario para recibir el código de autenticación durante la autenticación)
Haga clic en "Guardar cambios"
Vaya a "Revisión de la aplicación" y haga pública su aplicación.
Vaya a "Configuración" > "Básico"
En "Secreto de aplicación", haga clic en "Mostrar" para revelar el secreto de su aplicación.
Abra una terminal y guarde su ID de aplicación y su secreto de aplicación ejecutando: (captura de pantalla)
facebook-cli config --appid=<app-id> --appsecret=<app-secret>
Una vez configurada la aplicación de Facebook, debes autorizarla a acceder al gráfico social en tu nombre:
En una terminal, ejecute: facebook-cli login
(captura de pantalla)
(Si se autentica en una máquina remota o utiliza un puerto diferente para recibir el código de autenticación: facebook-cli login --host <hostname-or-ip> --port <port>
)
Abra la URL proporcionada en un navegador web e inicie sesión en su cuenta de Facebook si se le solicita
Haga clic en "Continuar" para aprobar los permisos (captura de pantalla)
Seleccione el alcance de su audiencia para cualquier publicación que publique usando esta aplicación (captura de pantalla) (leer más)
Haga clic en "Aceptar" para continuar
Si estás usando Firefox y obtienes un error SEC_ERROR_REUSED_ISSUER_AND_SERIAL
, simplemente copia la URL y ejecuta curl -k <url>
en una terminal
Cerrar la pestaña del navegador (captura de pantalla)
Al ejecutar facebook-cli
o facebook-cli help
se muestra la lista de comandos disponibles:
COMMANDS api - Make a direct Facebook API request config - Save your Facebook API credentials feed - List posts on your timeline help - Shows a list of commands or help for one command likes - List pages you have 'Liked' links - Some useful URLs login - Request Facebook permissions and receive an API access token logout - Deauthorize your access token me - Show your profile information photos - List photos you have uploaded photosof - List photos you are tagged in videos - List videos you have uploaded videosof - List videos you are tagged in
Ejecute facebook-cli help <command>
para obtener más detalles sobre cada comando.
Utilice un procesador Markdown para convertir fácilmente el resultado en un documento HTML. Por ejemplo, usando Pandoc:
facebook-cli likes | pandoc -s -f markdown_github > likes.html
Ver: ejemplo
Amigos de Facebook: cree una página que le permita hacer clic en las imágenes de perfil de sus amigos para ir a sus líneas de tiempo.
Navegador de Facebook: cree un índice de búsqueda de todas las páginas de Facebook que sigue
Salvapantallas que imprime los títulos de todas las páginas de Facebook que te gustan, creado utilizando la salida de facebook-cli likes | awk 'NR % 3 == 1' | perl -p -e "s/n/ - /"
como entrada de texto al protector de pantalla Phosphor
Facebook ha eliminado una gran parte de su Graph API a partir de la versión 2.0. Niraj Shah ha hecho un trabajo fantástico al documentar los recortes y sus implicaciones en estas publicaciones de blog:
API de Facebook: se lanzó Graph API v2.4, elimina grupos, notificaciones y permisos de transmisión
Facebook anuncia Graph API v2.3 y más obsolescencias
API de Facebook: conseguir amigos usando Graph API 2.0 y PHP SDK 4.0.x
Un artículo publicado en octubre de 2012 por el desarrollador de Facebook Henry Zhang proporciona información sobre el razonamiento:
Publicar en el muro de amigos a través de la API genera altos niveles de comentarios negativos de los usuarios, incluidos "Ocultar" y "Marcar como spam", por lo que lo eliminaremos de la API. Si desea permitir que las personas publiquen en la línea de tiempo de sus amigos desde su aplicación, puede invocar el cuadro de diálogo de alimentación.
Los cambios más recientes descritos en el portal de desarrolladores de Facebook cubren otras desaprobaciones masivas promulgadas en 2018, que han eliminado la capacidad de facebook-cli para acceder a eventos pasados y futuros, publicar contenido y recuperar nombres de amigos etiquetables, como todavía era posible con la restricción anterior de larga data. Las funciones disponibles de facebook-cli se han eliminado para reflejar los últimos cambios.
La funcionalidad eliminada hace que sea imposible crear una interfaz con todas las funciones para Facebook solo a través de Graph API.
Si amplía la funcionalidad de facebook-cli de alguna manera, abra una solicitud de extracción.
Clona este repositorio, luego usa Bundler para instalar las dependencias de Ruby:
gem install bundler bundle install
Ahora deberías poder ejecutar facebook-cli desde el directorio bin
:
bundle exec bin/facebook-cli
facebook-cli depende de la biblioteca Koala para interactuar con Graph API de Facebook y GLI para analizar argumentos de línea de comando.
Es recomendable utilizar un administrador de entorno Ruby como rbenv o rvm para evitar conflictos de entorno entre proyectos.
Si desea contribuir, eche un vistazo breve a la guía.
Aplicaciones:
vhpoet/facebook-cli (CLI de Facebook escrita en NodeJS)
fb-messenger-cli (Facebook Messenger para la terminal)
Caprine (GUI independiente de Facebook Messenger)
Messenger para escritorio (GUI independiente de Facebook Messenger, actualmente sin mantenimiento)
Bibliotecas:
Koala (rubí)
facebook-nodo-sdk (JavaScript)
ISC