Сама фича и примеры: www.google.ru/friendconnect для тестирования нужен акк гугл. демо: http://www.ossamples.com/api/
Мой ресурс в стадии разработки на денвере. Я собираю очень странный ресурс это не совсем блог.
В декабре - выложу. Тогда соотв. и покажу.
Про интеграцию в моем варианте.
Дело в том, что для моих целей пришлось достаточно плотно распотрошить Strawberry. Да у меня там не одна она. С реорганизацией базы. В моем варианте регистрации на сайте как таковой вообще не будет. Вход только через гугл аккаунты. В дальнейшем буду это расширять. Такой вариант подойдет видимо не всем.
Поэтому готового действия найти - заменить пока нет.
схема интеграции - кратко:
Основные этапы начала работы:
1. Создайте сайт с поддержкой Мастера сообществ Google через http://www.google.com/friendconnect/?hl=ru.
2. Вставьте основной сниппет API JavaScript Мастера сообществ Google в этот сайт (обратитесь к статье Настройка веб-сайта для использования встроенной библиотеки Мастера сообществ).
3. Используйте вызовы API, относящиеся к Мастеру сообществ Google, например для входа, чтобы пользователи могли присоединяться к сайтй.
4. Используйте стандартные вызовы API OpenSocial для интеграции социальных данных зарегистрированных пользователей и создания действий, которые могут быть представлены на вашем сайте и в интегрированных с ним социальных сетях.
как работает
1. по ссылке выше регистрируете сайт для получения API-ключа.
2. скачиваете в корень сайта файлы - там расскажут какие.
3. вешаете виджет на странице.
4. при заходе через виджет, friendconnect формирует куку с хэшем.
5. ловим куку - делаем запрос API по хэшу - получаем данные пользователя.
6. чтобы на каждой странице сайта не делать п.5, строим функцию
функция
а. при первом запросе п.5 в случае успеха открываем сессию
б. если есть сессия, то никаких п.5
вот вам функции в подарок
// 88888888888888888888 - API-ключ, у каждого сайта свой
// залогинился или нет?
$logging=user_logged_in();
// проверка кук у вошедшего пользователя
function user_logged_in()
{
$fc_cookie_id="fcauth88888888888888888888";// API-ключ 88888888888888888888 - заменить на свой
if(isset($_COOKIE[$fc_cookie_id])) // if there exists the friend connect cookie
{
$_SESSION['logged_in']=TRUE; // set session variable
$_SESSION['fcauth']=$_COOKIE[$fc_cookie_id];
return true;
}
else
{
$_SESSION['logged_in']=FALSE; // set session variable
return false;
}
}
// вывод логина пользователя
function autorize($logging)
{
if ($logging=='1'){
$response=make_request("http://www.google.com/friendconnect/api/people/@viewer/@self?fcauth=".$_SESSION["fcauth"]);
$avatar=$response->entry->thumbnailUrl; // аватарка
$nick=$response->entry->displayName; // ник
$nick2=$response->entry->id; // номер-идентификатор
} else {
echo "<a href='login.php'>войти на сайт</a>";
}
return;
}
// запрос через api google данных пользователя
function make_request($url)
{
$timeout=5;
$max_retries=5;
$useragent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11";
$curl=curl_init();
curl_setopt ( $curl, CURLOPT_URL,$url);
curl_setopt ( $curl, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $curl, CURLOPT_CONNECTTIMEOUT, $timeout );
curl_setopt ( $curl, CURLOPT_USERAGENT, $useragent );
$retry=0;
$data="";
while($data=="" AND $retry < $max_retries)
{
$data=curl_exec($curl);
$retry++;
}
curl_close($curl);
return json_decode($data);
}
Теперь думаю, несложно будет реализовать.
ps:
на машинко лобовуху меняют, поэтому сегодня не за рулем - пивка перебрал... за сумбурные объяснения сорри. хотя тут и так всё ясно.
5 минут и 7 секунд спустя:
ANT-Soft-у респект за аяксовый плагин рейтинга - хорошо сделано.
сэкономил время, хотя переделал как на digg.com - да/нет
...пойду спать, пиво - кончилось 