17:37
Получение списка пользователей (через API)
Что-то давно я новых функций не выкладывал... Итак, получаем список пользователей через API.
user
{

список пользователей

}

(function(window){ 
var apiNames = {
'USER_ID': 'id',
'USER_PROFILE': 'profile',
'USER_GROUPID': 'groupId',
'USER_GROUPNAME': 'group',
'USER_USERNAME': 'username',
'USER_NAME': 'name',
'USER_GENDER': 'gender',
'USER_AVATAR': 'avatar',
'USER_EMAIL': 'email',
'USER_ISVERIFIEDEMAIL': 'isVerifiedEmail',
'USER_HOMEPAGE': 'homepage',
'USER_COUNTRY': 'country',
'USER_CITY': 'city',
'USER_ICQ': 'icq',
'USER_AOL': 'aol',
'USER_MSN': 'msn',
'USER_YAHOO': 'yahoo',
'USER_BIRTHDAY': 'birthday',
'USER_ZODIAC': 'zodiac',
'USER_AGE': 'age',
'USER_IPADDRESS': 'ip',
'USER_BANNEDTILL': 'bannedTill',
'USER_RANK': 'rank',
'USER_RANKNAME': 'rankName',
'USER_REPUTATION': 'reputation',
'USER_AWARDS': 'awards',
'USER_REGTIMESTAMP': 'regTimeStamp',
'USER_LOGTIMESTAMP': 'logTimeStamp',
'USER_STATUS': 'status',
'USER_UNETPROFILE': 'unet',
'USER_UNETID': 'unetID',
'USER_REGDATE': 'regDate',
'USER_LASTVISIT': 'lastVisit',
'USER_POSTSNUM': 'postsNum',
'USER_STATE': 'state'
};
window.getUsers = function(page,fn){
if(!fn) fn = page, page = '/api/index/15';
else if(Object.prototype.toString.call(page) == '[object Number]') page = '/api/index/15-' + page;
$.get(page, function(data){
var arr = [];
$('data:eq(0)',data).children('value').children('struct').each(function(){
var obj = {};
$('member', this).each(function(data){
var name = $('name', this).text();
if(apiNames[name]) name = apiNames[name];
obj[name] = $('value', this).text();
});
arr.push(obj);
});
fn(arr);
});
}


Используем:
getUsers(function(users){ 
// обрабатываем
});

Здесь мы получаем всех пользователей с первой страницы (/index/15).

Второй вариант: указываем номер страницы - например, получим всех пользователей со второй страницы:
getUsers(2, function(users){ });


Или напрямую адрес страницы:
getUsers('/index/15-2', function(users){ });


Здесь users - это массив пользователей. Каждый элемент массива - объект с информацией о пользователе. Параметры:

  • id - id пользователя

  • profile - url профиля

  • groupId - id группы

  • group - название группы

  • username - имя (ник)

  • name - имя

  • gender - пол

  • avatar - url аватарки

  • email - email

  • isVerifiedEmail - подтверждён ли email?

  • homepage - url домашней страницы

  • country - страна

  • city - город

  • icq - ICQ

  • aol - AOL

  • msn - MSN

  • yahoo - Yahoo

  • birthday - день рождения

  • zodiac - знак зодиака

  • age - век

  • ip - IP-адрес

  • bannedTill - заблокирован?

  • rank - id ранга

  • rankName - ранг пользователя

  • reputation - репутация

  • awards - количество наград

  • logTimeStamp - время и дата последнего входа (в формате timestamp)

  • regTimeStamp - время и дата регистрации (также в timestamp)

  • status - статус (online/offline)

  • unet - адрес unet-профиля

  • unetID - id unet-профиля

  • regDate - дата регистрации (в форме строки)

  • lastVisit - дата последнего входа (в форме строки)

  • postsNum - количество материалов

  • state - штат (ну хорошо, область)


Последние четыре параметра, кстати, дополнительные: в функции получения данных одного пользователя их почему-то нет. Косяк uCoz: API кривой (кривое?). И ещё один баг: в поле MSN/AOL/ICQ может содержаться строка 'MSN', или 'AOL', или 'ICQ' (в зависимости от поля).

На этом всё.
15825, 0, Кейтен, 19.05.2024, 03:25, 4.8
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Скачать
Партнёры
Комментарии
(26.06.2012)
smile классно, ждем! Оставил сайт в закладках)
Кейтен (13.05.2012)
Если вы знаете JavaScript, то эти функции могут помочь вам писать скрипты для uCoz
Кейтен (12.05.2012)
Сейчас, к сожалению, времени очень не хватает. Как только появится - сразу займусь. Кстати говоря, модуль пользователей уже почти закончен, пара функций осталась.
(19.04.2012)
нового ничего не будет? sad
Статистика