Решив этот минус исправить, сделал себе такую вот кнопку для желающих подписаться на мой Buzz (туда транслируется данный блог, а также пощу некоторые менее формальные сообщения):
Здесь скриншот, собственно кнопка - в правой колонке на блоге (это на всякий случай, для читателей по RSS и через Buzz). Если кто-то хочет себе такую же, в этом посте объясняю, как это сделать.
Код для кнопки
Для создания подобной кнопки служит следующий html-код:
<script type="text/javascript" src="http://services.paccbet.ru/buzzfollowers.php5?userid=googleUserId&format=js"></script> <p><a id="subscribebuzz" target="_blank" title="Подписаться на Google Buzz" class="google-buzz-button" href="http://www.google.com/profiles/googleUserId" data-button-style="follow">Google Buzz</a></p> </div> <script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script> <script type="text/javascript"> if (buzz_followers) { var a = document.getElementById('subscribebuzz'); a.text = 'Buzz: ' + buzz_followers + ' followers'; } </script>
Этот код нужно положить куда-нибудь в разметку вашего блога или сайта, и подменить googleUserId на ваш Google Id, как его получить наглядно показано на скриншоте:
Реализация
Если кому-то интересно, реализация данного решения основана на следующем вызове Google API:
https://www.googleapis.com/buzz/v1/people/googleUserId/@groups/@followers?max-results=0
В результате, возвращается следующий xml:
<response gd:kind="buzz#peopleFeed" xmlns="http://portablecontacts.net/ns/1.0" xmlns:gd="http://schemas.google.com/g/2005"> <startIndex> 0 </startIndex> <itemsPerPage> 0 </itemsPerPage> <totalResults> 26 </totalResults> </response>
Где 26 - количество подписчиков.
Поскольку результат нужно парзить, я написал простенький php-скрипт (сильно не пинать, когда я последний раз писал на php, это была 3я версия :)...):
<?php header('Content-Type: text/plain'); $userid = $_GET['userid']; if (!preg_match("/^[0-9a-zA-Z\.\-_]+$/", $userid)) die("Bad userid!"); $format = $_GET['format']; if ($format == '') $format = 'text'; if ($format != 'image' && $format != 'text' && $format != 'js') die("Bad format!"); $contents = file_get_contents('https://www.googleapis.com/buzz/v1/people/' . $userid . '/@groups/@followers?max-results=0'); $xml = simplexml_load_string($contents); $followers = (string)$xml->totalResults; if ($format == 'text') { header('Content-Type: text/plain'); echo $followers; } else if ($format == 'js') { header('Content-Type: application/x-javascript'); echo "var buzz_followers = " . $followers . ";\n"; } else { header ('Content-type: image/png'); $im = imagecreate(10+strlen($followers)*6, 24) or die('Cannot Initialize new GD image stream'); $bg = imagecolorallocate($im, 255, 255, 255); $text_color = imagecolorallocate($im, 0, 0, 0); imagestring($im, 2, 5, 5, $followers, $text_color); imagepng($im); imagedestroy($im); } ?>
Этот скрипт я залил на свой сайт services.paccbet.ru (этот сайт уже много лет работает, хостинг платный, так что можете пользоваться - без проблем).
P.S. Забыл сказать, Google Buzz (или Живая лента) - это очень удобная штука. Особенно для тех, кто пользуется почтой gmail и её веб-интерфейсом. Так что присоединяйтесь.
Комментариев нет:
Отправить комментарий
Внимание! Реклама и прочий спам будут беспощадно удаляться.
Примечание. Отправлять комментарии могут только участники этого блога.