Статьи

Создание виджета социального профиля: подсчитайте количество подписчиков

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

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

В этой серии из двух частей я покажу, как узнать количество лайков на Facebook, подписчиков в Twitter и Google+ и как создать виджет WordPress для социального профиля.

Мы сосредоточимся на Facebook, Twitter и Google+, потому что они являются тремя крупнейшими социальными сетями.

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

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

Обратите внимание, что нас интересует только количество лайков на странице (которое является значением свойства объекта «лайки») относительно виджета социального профиля, который мы будем строить во второй части этой статьи.

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

1
2
3
4
function facebook_count( $username ) {
    $facebook_count = file_get_contents( ‘http://graph.facebook.com/’.$username );
    return json_decode( $facebook_count )->likes;
}

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

1
<?php echo facebook_count( ‘tutsplus’ );

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

  1. Войдите в консоль разработчиков Google, используя свою учетную запись Google, нажмите кнопку « Создать проект» и заполните форму, чтобы создать проект.
    Консоль разработчика Google
  2. Нажмите на вновь созданный проект, чтобы перейти на его панель инструментов, перейдите в подменю API в разделе APIs & auth и активируйте API Google+ .
    Google API
  3. Чтобы получить ключ API, перейдите на страницу « Учетные данные» , нажмите « Создать новый ключ» и перейдите к созданию ключа сервера .
    Создать новый ключ
  4. Теперь ваш ключ API должен отображаться так, как показано на рисунке ниже.
Доступ к публичному API

Приведенная ниже функция PHP извлекает и возвращает количество подписчиков профиля или страницы Google+ .

1
2
3
4
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+ (с начальным символом + ) или идентификатор и ваш ключ API.

Например, мое имя пользователя Google+ — +agbonghamacollins а мой идентификатор — 116181276412462774298 .

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

1
<?php echo googleplus_count( ‘116181276412462774298’, ‘AIzaSyC-CXn43NPTUldT4rMAp6hAqzsZfafAMEE’ );
1
<?php echo googleplus_count( ‘+agbonghamacollins’, ‘AIzaSyC-CXn43NPTUldT4rMAp6hAqzsZfafAMEE’ );

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

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

Чтобы создать приложение для Twitter, вам необходимо войти в личный кабинет разработчиков Twitter, используя свою учетную запись Twitter. Смысл создания приложения — дать себе (и Twitter) набор ключей. Эти:

  • Ключ потребителя
  • Секрет потребителя
  • Токен доступа
  • Секрет токена доступа

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

Выполните следующие действия, чтобы создать приложение Twitter и сгенерировать ключи.

  • Войдите в учетную запись разработчика Twitter, используя свою учетную запись Twitter, и перейдите к консоли управления приложениями .
  • Нажмите кнопку « Создать новое приложение» , чтобы начать создание приложения Twitter.
  • Заполните форму и нажмите кнопку «Отправить», чтобы создать приложение.
  • Нажмите на приложение, перейдите на вкладку « Разрешения » и измените уровень доступа на « Чтение и запись» .
    Если вы хотите достойно использовать этот API, вам нужно изменить настройки на Чтение и запись, если вы делаете что-то, кроме стандартного извлечения данных с помощью запросов GET .
    Twitter Demo App

Чтобы получить ключ и секретный ключ своего приложения, перейдите на вкладку « Ключи API ».
Ключ API и секрет API — это, соответственно, ключ потребителя и его секрет.

Настройки демо-приложения Twitter

Чтобы получить токен доступа к приложению и получить доступ к секретам токена, по-прежнему на вкладке « Ключи API» выполните прокрутку вниз и нажмите кнопку «Создать мой токен доступа», чтобы создать токены доступа.

Жетоны доступа

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

Ваш токен доступа

Теперь у нас есть ключ потребителя и секрет потребителя, а также токен доступа и секретные ключи. Далее нам нужно программно получить количество подписчиков в Твиттере.

Я нашел очень полезный API Simple PHP Wrapper для Twitter, который делает отправку запроса и получение ответа от API безболезненным.

Чтобы использовать оболочку Twitter PHP, загрузите и установите ее через Composer, просто добавив следующую инструкцию require в файл composer.json :

1
2
3
4
5
{
    «require»: {
        «j7mbo/twitter-api-php»: «dev-master»
    }
}

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

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

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

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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=’ .
    $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 или имя пользователя функции в качестве аргумента.

1
<?php echo twitter_count( ‘tech4sky’ );

В этой первой части серии мы создали три функции PHP, которые управляют поиском лайков на Facebook, фанатов Google+ и подписчиков в Twitter.

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

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