На сегодняшний день практически не встретишь сайт без виджета социальных сетей. Этот виджет состоит из иконок и текстовой ссылки на профили различных социальных сетей. Некоторые из них также показывают количество фолловеров в каждой социальной сети.

Существует огромное количество бесплатных и премиум плагинов для добавления виджетов социальных сетей на WordPress, которые используются в виде ссылок на личный профиль или профиль компании в соцсети.

Смотрите также:

Сегодня мы поговорим о том, как сделать подсчет лайков страницы на Facebook, количества фолловеров в Twitter и Google+, и как создать виджет социального профиля на WordPress (об этом детальнее во второй части это поста). Мы остановимся именно на Facebook, Twitter, and Google+, потому что они являются самыми большими социальными сетями в мире.

Вот так будет выглядеть наш виджет

Подсчет Like’ов страницы на Facebook

Facebook Graph API можно использовать как для коммуникации – размещение новых постов, фотографий, прочее; так и для получения информации о пользователях и выполнения ряда других задач непосредственно с помощью самого приложения.

С помощью Graph API нам будет нетрудно узнать количество лайков нашей страницы на Facebook. К примеру, чтоб узнать Дату создания, О нас, Название, подсчет лайков страницы Facebook, перейдите в браузере по ссылке http://graph.facebook.com/wpcafe.org для получения данных в формате JSON, содержащих всю информацию о странице. Вы можете подставить в конце ссылки имя любой другой страницы.

Помните, что нас интересует только количество лайков страницы в отношении виджета социального профиля, который мы будет создавать немного позже.

Ниже указана функция PHP, которая отображает количество лайков страницы на Facebook. Она принимает имя пользователя страницы в качестве аргумента и показывает количество лайков:

function facebook_count( $username ) {
    $facebook_count = file_get_contents( 'http://graph.facebook.com/'.$username );
    return json_decode( $facebook_count )->likes;
}

Скажем, мы хотим получить подсчет лайков Tuts+ страницы, добавив имя пользователя tutsplus к функции:

<?php echo facebook_count( 'tutsplus' ); ?>

Подсчет количества фолловеров в Google+

Перед тем, как использовать Google API для получения информации о странице или профиле Google+, нужно получить ключ разработчика API.

Шаг 1.

Войдите в Google Developers Console через свой аккаунт Google, нажмите на кнопку «Создать проект» и заполните форму для создания проекта.

Шаг 2.

Нажмите на созданный проект, чтоб попасть в его панель управления, перейдите в подменю API под APIs & auth и активируйте Google+ API.

Шаг 3.

Для получения ключа API перейдите на страницу Credentials, нажмите на «Создать новый ключ» и приступите к созданию «Server key».

Шаг 4.

После этого ваш ключ должен отобразиться таким образом, как изображено на картинке ниже.

Нижеуказанная функция PHP отображает количество фолловеров вашей страницы или профиля в Google+

function googleplus_count( $user, $apikey ) {
    $google = file_get_contents( 'https://www.googleapis.com/plus/v1/people/' . $user . '?key=' . $apikey );
    return json_decode( $google )->circledByCount;
}

Для использования этой функции введите в нее имя пользователя профиля Google+ или ID, и ваш ключ API.

Например, имя пользователя +agbonghamacollins, а ID 116181276412462774298. Внесение этих данных в функцию вместе с ключом API отобразит количество фолловеров на G+.

<?php echo googleplus_count( '116181276412462774298', 'AIzaSyC-CXn43NPTUldT4rMAp6hAqzsZfafAMEE' ); ?>

или

<?php echo googleplus_count( '+agbonghamacollins', 'AIzaSyC-CXn43NPTUldT4rMAp6hAqzsZfafAMEE' ); ?>

Подсчет фолловеров в Twitter

В Twitter используется OAuth, который является открытым протоколом для безопасной авторизации простым и стандартным методом. Это позволяет пользователям подтвердить приложение от своего имени без пароля.

Для успешной отправки запроса в Twitter API вам необходимо создать приложение с авторизацией, так как неавторизованные запросы не разрешены.

Чтоб создать приложение Twitter, нужно войти в панель разработчика через ваш аккаунт Twitter. Цель создания приложения заключается в том, чтоб предоставить себе и Twitter несколько ключей. А именно:

  • Ключ пользователя (The consumer key)
  • Секретный ключ пользователя (The consumer secret)
  • Токен доступа (The access token)
  • Секретный токен доступа (The access token secret)

Эти ключи пригодятся, когда мы будем запрашивать API для подсчета количества фолловеров.

Следуйте описанным ниже шагам для создания приложения Twitter и генерации ключей.

  • Войдите в аккаунт разработчика Twitter через свой аккаунт, а затем в консоль Application Management.
  • Нажмите на кнопку «Создать новое приложение», чтоб начать создание приложения Twitter.
  • Заполните форму и нажмите на кнопку подтверждения.
  • Нажмите на приложение, зайдите на вкладку Permissions и измените доступ на «Read and Write». Если вы хотите использовать API с другой целью, измените настройки на «Read & Write», на случай, если вам нужно не только получить стандартные данные с помощью запросов GET.

Чтоб получить ключ пользователя (consumer key) и секретный ключ (consumer secret), откройте вкладку API Keys.

Ключ API и секретный API являются ключом пользователя и секретным ключом соответственно.

Чтоб получить токен доступа (access token) и секретный токен (access token secret), в той же вкладке опуститесь вниз и нажмите на кнопку «Создать мой токен» для создания токена доступа.

Обновите страницу, и ваше приложение с токенами доступа будет отображено.

Теперь у нас есть ключ пользователя, секретный ключ пользователя, а также токен доступа и секретный ключ. Это поможет нам программно узнать количество фолловеров в Twitter.

Ест одно очень полезное приложение Simple PHP Wrapper for Twitter API, для отправки запросов и получения ответов от API.

Для использования Twitter PHP wrapper нужно скачать его через Composer, добавив следующий запрос к своему файлу composer.json:

{
    "require": {
        "j7mbo/twitter-api-php": "dev-master"
    }
}

Запустите команду $ php composer.phar install для загрузки библиотеки и сгенерируйте автозагрузку файла vendor/autoload.php.

Включите vendor/autoload.php или загрузите PHP wrapper в файле-архиве zip, и добавьте файл TwitterAPIExchange.php, содержащий класс wrapper.

Нижеуказанная функция покажет количество фолловеров в Twitter. Чтоб использовать эту функцию, установите ключ пользователя вашего приложения Twitter, его секретный ключ, токен доступа и секретный токен доступа:

function twitter_count( $user ) {

    require_once 'vendor/autoload.php';

    /** Set access tokens here - see: https://dev.twitter.com/apps/ **/
    $settings = array(
        'oauth_access_token'        => "YOUR_OAUTH_ACCESS_TOKEN",
        'oauth_access_token_secret' => "YOUR_OAUTH_ACCESS_TOKEN_SECRET",
        'consumer_key'              => "YOUR_CONSUMER_KEY",
        'consumer_secret'           => "YOUR_CONSUMER_SECRET"
    );

    $url = 'https://api.twitter.com/1.1/users/show.json';
    $getfield = '?screen_name=' . $user;
    $requestMethod = 'GET';
    $twitter = new TwitterAPIExchange( $settings );
    $follow_count = $twitter->setGetfield( $getfield )
                    ->buildOauth( $url, $requestMethod )
                    ->performRequest();
    $get_count = json_decode( $follow_count, true );

    return $get_count['followers_count'];

}

Чтобы использовать саму функцию, введите в нее имя пользователя Twitter в качестве аргумента:

<?php echo twitter_count( 'tech4sky' ); ?>

Заключение

Итак, мы с вами создали три функции PHP, с помощью которых можно узнать количество лайков страниц на Facebook, и фолловеров в Google+ и Twitter.

Из следующего поста-продолжения этой темы вы узнаете, как создать виджет для этих социальный сетей для WordPress и настроить отображение количества пользователей, как показано на изображении ниже.

Источник: code.tutsplus.com

Вам понравился материал?

Добавить комментарий

Такой e-mail уже зарегистрирован. Воспользуйтесь формой входа или введите другой.

Вы ввели некорректные логин или пароль

Извините, для комментирования необходимо войти.

2 комментария

сначала новые
по рейтингу сначала новые по хронологии

Тоже интересует про вк.

Михаил

Спасибо за статью!
А для Вконтакте такое можно сделать?