Функциональность Facebook из командной строки.
gem install facebook-cli
(может потребоваться sudo)
Чтобы взаимодействовать с API Facebook, вам необходимо создать и настроить приложение Facebook для личного использования. Внимательно следуйте этим инструкциям:
Перейдите на https://developers.facebook.com/apps и создайте новое приложение (скриншот).
Настройка нового продукта «Вход через Facebook»
Не заморачивайтесь с выбором платформы. Вместо этого нажмите «Настройки» в разделе «Вход в Facebook» на боковой панели.
В разделе «Действительные URI перенаправления OAuth» добавьте: https://localhost:3333/
(это необходимо для получения кода авторизации во время аутентификации).
Нажмите «Сохранить изменения»
Перейдите в раздел «Обзор приложения» и сделайте свое приложение общедоступным.
Перейдите в «Настройки» > «Основные».
В разделе «Секрет приложения» нажмите «Показать», чтобы раскрыть секрет вашего приложения.
Откройте терминал и сохраните свой идентификатор приложения и секрет приложения, выполнив: (снимок экрана)
facebook-cli config --appid=<app-id> --appsecret=<app-secret>
После настройки приложения Facebook вы должны разрешить ему доступ к социальному графу от вашего имени:
В терминале запустите: facebook-cli login
(скриншот)
(При аутентификации на удаленном компьютере или использовании другого порта для получения кода аутентификации: facebook-cli login --host <hostname-or-ip> --port <port>
)
Откройте указанный URL-адрес в веб-браузере и войдите в свою учетную запись Facebook, если будет предложено.
Нажмите «Продолжить», чтобы утвердить разрешения (скриншот)
Выберите охват вашей аудитории для любых публикаций, которые вы публикуете с помощью этого приложения (скриншот) (подробнее)
Нажмите «ОК», чтобы продолжить
Если вы используете Firefox и получаете ошибку SEC_ERROR_REUSED_ISSUER_AND_SERIAL
, просто скопируйте URL-адрес и запустите curl -k <url>
в терминале.
Закройте вкладку браузера (скриншот)
Запуск справки facebook-cli
или facebook-cli help
показывает список доступных команд:
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
Запустите facebook-cli help <command>
для получения более подробной информации о каждой команде.
Используйте средство визуализации Markdown, чтобы легко преобразовать выходные данные в документ HTML. Например, используя Pandoc:
facebook-cli likes | pandoc -s -f markdown_github > likes.html
См.: пример
Друзья в Facebook — создайте страницу, на которой вы сможете щелкнуть изображения профиля своих друзей, чтобы перейти к их ленте.
Браузер Facebook — создайте удобный для поиска индекс всех страниц Facebook, на которые вы подписаны.
Скринсейвер, который печатает заголовки всех ваших «Понравившихся» страниц Facebook, созданных с использованием результатов facebook-cli likes | awk 'NR % 3 == 1' | perl -p -e "s/n/ - /"
в качестве ввода текста в заставке Phosphor
Facebook удалил большую часть своего Graph API, начиная с версии 2.0. Нирадж Шах проделал фантастическую работу, документируя сокращения и их последствия в своих сообщениях в блоге:
API Facebook: выпущен Graph API v2.4, удалены группы, уведомления и разрешения на поток
Facebook объявляет о выпуске Graph API v2.3, прекращении поддержки
Facebook API: поиск друзей с помощью Graph API 2.0 и PHP SDK 4.0.x
Статья, опубликованная в октябре 2012 года разработчиком Facebook Генри Чжаном, дает представление об этих рассуждениях:
Публикация на стене друзей через API вызывает высокий уровень негативных отзывов пользователей, в том числе «Скрывается» и «Отмечается как спам», поэтому мы удалим ее из API. Если вы хотите, чтобы люди могли публиковать сообщения в ленте своих друзей с вашего app, вы можете вызвать диалоговое окно ленты.
Более поздние изменения, изложенные на портале разработчиков Facebook, охватывают дальнейшие массовые прекращения поддержки, принятые в 2018 году, которые лишили facebook-cli возможности получать доступ к прошлым и предстоящим событиям, публиковать контент и получать имена помечаемых друзей, что все еще было возможно при предыдущем давнем ограничении. Доступные функции facebook-cli были сокращены с учетом последних изменений.
Удаленная функциональность делает невозможным создание полнофункционального интерфейса для Facebook только через Graph API.
Если вы каким-либо образом расширите функциональность facebook-cli, откройте запрос на включение.
Клонируйте этот репозиторий, затем используйте Bundler для установки зависимостей Ruby:
gem install bundler bundle install
Теперь вы сможете запустить facebook-cli из каталога bin
:
bundle exec bin/facebook-cli
facebook-cli зависит от библиотеки Koala для взаимодействия с Facebook Graph API и GLI для анализа аргументов командной строки.
Рекомендуется использовать менеджер среды Ruby, такой как rbenv или rvm, чтобы избежать конфликтов среды между проектами.
Если вы хотите внести свой вклад, пожалуйста, кратко ознакомьтесь с руководством.
Приложения:
vhpoet/facebook-cli (интерфейс командной строки Facebook, написанный на NodeJS)
fb-messenger-cli (Facebook Messenger для терминала)
Caprine (автономный графический интерфейс Facebook Messenger)
Messenger для настольных компьютеров (автономный графический интерфейс Facebook Messenger – в настоящее время не поддерживается)
Библиотеки:
Коала (Рубин)
facebook-узел-sdk (JavaScript)
ISC