Модератор форума: JonMagon |
Сообщество uCoz » Мастерская uCoz » Использование PHP и API на uCoz » Базовое API на uCoz |
Базовое API на uCoz |
В марте 2011 в системе uCoz появилась возможность использовать функционал API. АPI - это бесплатная возможность, её нужно просто активировать в Основных настройках сайта. Инструкция по включению и использованию данной возможности находится ЗДЕСЬ. В этой теме разрешается обсуждать данную возможность, делиться опытом, вносить конструктивные предложения. ОБНОВЛЕНИЯ
|
Quote (roach) каким образом я могу тогда узнать количество постов любого пользователя? Можно обойтись без API, который (по моему личному мнению после длительной с ним работы) все еще значительно "сырой" и откровенно не доработан под конкретные нужды разработчиков! Сделайте обычный get-запрос на страницу профиля пользователя "/index/8-uID", после чего спокойно возьмите из кода этой страницы нужные Вам счетчики. |
sch779, я так раньше и делал, парсил страницу пользователя и брал нужные мне элементы, однако для этого использовалась БД и крон, который обновлял данные. Учитывая тот факт, что я делаю юзербар с информацией о пользователе, то это не очень удачная идея получения данных, чем больше пользователей заносится в БД, тем выше нагрузка на сервер, что не очень желательно. Тут же ничего использовать не нужно, кроме взятия данных через апи, что упрощает мне жизнь, но вот этот момент не очень нравится, что сообщения вытащить нельзя.
|
roach, API тоже не из воздуха берется.
Code file_get_contents("http://ваш_сайт/api/index/8-1"); Code file_get_contents("http://ваш_сайт/index/8-1"); Разницы нет никакой. Можете вообще свой API написать, в этом нет ничего сложного. Решение вашей проблемы: В шаблон "Персональная страница пользователя" вставляем следующий код Code <?if($IP_ADDRESS$ = '195.216.243.107')?><?xml version="1.0"?> <methodResponse> <params> <param> <value><struct> <member><name>FORUM_ENTRIES</name><value><i4>$_FORUM_ENTRIES$</i4></value></member> </struct></value> </param> </params> </methodResponse><?else?>стандартный код персональной страницы пользователя<?endif?> В PHP файле в нужном месте используем код Code $xml = xmlrpc_decode(file_get_contents("http://ваш_сайт/index/8-1")); echo $xml["FORUM_ENTRIES"]; Не оказываю поддержку посредством ЛС/ICQ/Skype/AIM/XMPP/E-mail.
Сообщение отредактировал JonMagon - Понедельник, 13 Авг 2012, 15:12:01
|
Quote (JonMagon) Разницы нет никакой. совсем никакой, только в 1 случае мы получаем весь html код, который придётся обрабатывать и сохранять, во втором мы получаем нормальные данные и ничего лишнего. Одно дело обрабатывать инфу у себя на сервере, нагружая его, другое получить то, что нужно в удобном виде. Quote (JonMagon) Можете вообще свой API написать, в этом нет ничего сложного. Могу, но в этом случае юкоз предоставляет мне функционал и я задаю вопрос по этому функционалу, а не как создать апи и вытаскивать данные. |
Quote (JonMagon) Решение вашей проблемы Для меня это не подходит, я не администратор сайта. Quote Вышеописанный вариант реализует свой API, который ничем не отличается от системного. Я хочу использовать системный, а не свой. Если бы я использовал свой, я бы сюда не пришёл и не отвлекал бы никого. Сообщение отредактировал roach - Понедельник, 13 Авг 2012, 15:07:47
|
Quote (roach) Я хочу использовать системный, а не свой Честно говоря, совершенно не понял Ваши предыдущие посты про необходимость использования БД, PHP и своего сервера?! Зачем? Code <script type="text/javascript"> var posts; $.get("/index/8-1", function(data){ posts = $("a[href $= '/forum/0-0-1-3-1'] b",$(data)).text() }) </script> Вот и весь код для получения количества постов пользователя с ID=1! Аналогично и для других счетчиков на персональной страничке. |
Вы можете понять, что я хочу использовать тот апи, который предоставляет юкоз? Неважно, почему я не хочу писать свой код, Юкоз предоставляет функции, я хочу ими пользоваться. Меня не волнует, насколько просто получать данные можно, мне интересно узнать, как получить данные с помощью Вашего апи. Отвечайте, пожалуйста, по существу.
|
Quote (roach) мне интересно узнать, как получить данные с помощью Вашего апи. Вам уже, кажется, ответили - с помощью текущей версии API это невозможно сделать! И в качестве альтернативы я привел код, который работает практически так же, как и API. Quote (roach) Отвечайте, пожалуйста, по существу. Вам предлагают рабочее решение, а Вы "отбрыкиваетесь"! :))) Так бы сразу и написали, что спрашиваете не для дела, а просто узнать степень функциональности API. Добавлено (18-Авг-2012, 17:35:07) |
Quote (roach) описанные в Вашем блоге не соответствуют дейтвительности В моем блоге?! У меня сроду не было и нет своего блога - я не блогописатель! Вы о чем, разрешите спросить?! Если Вы имеете в виду блог поддержки Ucoz, то я к нему не имею никакого отношения - все вопросы к авторам Ucoz! Я на этом форуме такой же посетитель, как и Вы - захожу что бы почитать интересные решения некоторых проблем. Если могу ответить на вопрос - отвечаю! Что же касается моего вопроса - я решение нашел. Правда, не через API, но - работает! Другое дело, что мое решение не является документированным разработчиками Ucoz и может в дальнейшем, если они изменят алгоритм работы блока "Форум", не работать! А API - вполне документированный инструмент и можно быть более-менее уверенным, что просто так "с бухты-барахты" алгоритм его использования разработчики не изменят. Сообщение отредактировал sch779 - Суббота, 18 Авг 2012, 19:31:13
|
sch779, к вам именно у меня нет никаких претензий и быть не может, я имел ввиду юкоз. Чей именно там был блог, кто разрабатывал апи и кто писал описание меня в последнюю очередь волнует. Именно вам спасибо за попытки помочь. Просто я прочитал, что можно получить посты, причём от гостя, как написано в описании апи, оказалось, что это не работает, зачем было писать так я не знаю, да и мне не интересно) Вам лично ещё раз отдельное спасибо, что уделили время.
|
|
Здравствуйте.
1. Скажите пожалуйста, можно ли через апи получить список всех зарегистрированных пользователей на сайте? 2. Если нет, то как можно получить список пользователей количеством больше 10 на страницу? 3. И последнее, подскажите, где можно прочитать про правила формирования урлов на страницы в ucoz? Конкретно интересует, что скрывается за "*" в шаблоне "http://USER_SITE/api/index/15-*-*-*-*"? |
| |||