Библиотека сайта rus-linux.net
Как получить доступ к Facebook из командной строки в Linux
Оригинал: How to access Facebook from the command line on LinuxАвтор: Dan Nanni
Дата публикации: 8 января 2014 года
Перевод: А. Кривошей
Дата перевода: январь 2014 г.
Сегодня страница Facebook представляет собой микс из сложного динамического контента, постоянно обновляемого из вашей ленты, обновлений статуса ваших друзей, уведомлений, онлайн-чатов и так далее.
Хотя эта сложная смесь может быть результатом тщательно отработанных проектных решений команды Facebook, для нас она только замедляет работу браузера. Например, не удивляйтесь, что загрузка страницы Facebook в браузере инициирует более дюжины TCP подключений к различным конечным точкам (Facebook CDN, Akamai, сторонние рекламодатели и т.д.).
Если вы точно знаете, что вам нужно в Facebook, то можете в качестве альтернативы попробовать намного более легковесный клиент Facebook командной строки fbcmd. Используя командный интерфейс fbcmd, вы можете делать почти все, что вы делаете на Facebook, но без загрузки лишнего динамического контента.
В этом руководстве я опишу, как получить доступ к Facebook из командной строки Linux, используя fbcmd.
Подготовка
Сначала необходимо установить интерфейс командной строки для PHP.
В Debian, Ubuntu:
$ sudo apt-get install php5-cli php5-curl
В Fedora, CentOS или RHEL:
$ sudo yum install php-cli
После установки проверьте, что PHP5 у вас установлен с поддержкой curl.
$ php -r 'echo phpversion();' 5.5.7 $ php -r 'phpinfo();' | grep -i curl /etc/php.d/curl.ini, curl cURL support => enabled cURL Information => 7.32.0
Установка fbcmd в Linux
Скачайте fbcmd_update.php:
$ wget https://raw.github.com/dtompkins/fbcmd/master/fbcmd_update.php
Для подготовки установки fbcmd запустите команду:
$ php fbcmd_update.php
Она создаст директорию ~/.fbcmd, в которой будут храниться файлы настроек.
Теперь запустите две нижеприведенные команды для установки fbcmd по стандартной схеме (т.е. в директории /usr/local/lib и /usr/local/bin).
$ sudo php fbcmd_update.php sudo $ php fbcmd_update.php
В завершение убедитесь, что директория /usr/local/bin включена в вашу переменную окружения PATH.
Настройка fbcmd в Linux
Однократная первоначальная настройка fbcmd выполняется в три этапа.
Этап 1: Предоставьте fbcmd базовый доступ к своему аккаунту Facebook. Для этого просто запустите команду fbcmd как обычный пользователь.
$ fbcmd
Команда выведет Facebook URL, как показано ниже. Скопируйте этот URL и вставьте его в браузер.
После авторизации в аккаунте Facebook вы увидите приведенное ниже окно. Кликните "Okay" для завершения процесса базовой авторизации.
Этап 2. Получите код авторизации от Facebook, чтобы обеспечить доступ к своему аккаунту оффлайн. Для этого перейдите по адресу http://www.facebook.com/code_gen.php?v=1.0&api_key=42463270450 в браузере, и сгенерируйте одноразовый код авторизации.
Этот код будет действителен в течение ограниченного времени. Если он перестанет действовать, сгенерируйте новый код.
После генерации авторизационного кода запустите приведенную ниже команду, где "XXXXXX" - ваш код авторизации. Вы должны увидеть "AUTH code accepted".
$ fbcmd auth XXXXXX
Этап 3. Получение дополнительных привилегий для управления аккаунтом Facebook.
Для этого перейдите по этому URL в браузере. Вас попросят подтвердить получение дополнительных привилегий для различных опций. Продолжайте нажимать "Okay", пока процесс не завершится. Не бойтесь. Эти действия не дадут доступа к вашему аккаунту какому-либо постороннему пользователю. Все эти привилегии относятся только к вашему аккаунту Facebook.
На этом настройка fbcmd завершена.
Основы работы с fbcmd
Для верификации полученных привилегий запустите приведенную ниже команду, которая покажет ваш статус.
$ fbcmd showperm
Ниже приведены основные команды для работы с вашим аккаунтом.
Для отправки сообщения в вашу стену:
$ fbcmd post "Hello, world!"
Для отправки сообщения в стену пользователя peter:
$ fbcmd target peter post "Hello, Peter!"
Для просмотра текущего статуса ваших друзей:
$ fbcmd fstatus
Для вывода списка ваших друзей, находящихся в настоящее время онлайн:
$ fbcmd fonline
Для просмотра лент ваших друзей:
$ fbcmd stream
Для отправки комментария к новости #5 из ленты вашего друга:
$ fbcmd comment 5 "This is funny"
Чтобы поставить лайк новости #3 из ленты вашего друга:
$ fbcmd like 3
Полный список команд имеется в официальной документации.
Исправление ошибок в работе fbcmd
1. Если вы получите приведенное ниже предупреждение о часовом поясе от PHP, задайте ваш часовой пояс в файле php.ini, который находится в /etc/php.ini (системы на базе RedHat) или /etc/php5/cli/php.int (системы на базе Debian).
Например, в Fedora:
$ sudo vi /etc/php.ini date.timezone = "America/New_York"
Для того, чтобы получить строку с часовым поясом вашего региона, можно использовать команду tzselect.
На нашем сайте ранее была опубликована другая статья на тему получения доступа к Facebook из консоли - почитайте.