FAQ или сборник основных идей
994,160 148
 

  York ( Слушатель )
28 окт 2008 13:54:28

Тред №59648

новая дискуссия Дискуссия  323

Информация в этом сообщении устарела, т.к. форум где-то с осени 2009 больше не отдаёт RSS потоки
Для форума разработаны сторонние решение, описанные в этой теме.


Можно ли подписаться на сообщения форума через RSS?

Да, можно. Самый простой способ - использовать этот URL: http://glav.su/forum…l;type=rss
В результате вы получите поток в формате RSS 0.92, который содержит 5 последних сообщений со всего форума.

Но можно настроить RSS поток, или несколько потоков, под себя. Чтобы это сделать, надо в уже указанный выше URL добавить нужные вам параметры, либо изменить существующие. В результате вы можете подписаться на новые сообщения, новые темы и список последних зарегистрированных пользователей.
Параметры записываются следующим образом: <имя параметра>=<значение>, например type=rss. В URL параметры отделяются друг от друга точкой с запятой.
Например, http://glav.su/forum/index.php?action=.xml;type=rss2;limit=20;board=2, содержит 3 дополнительных параметра type, limit и board со значениями rss2, 20 и 2, соответственно.

Допустимые параметры:






limit
Количество элементов возвращаемых в запросе. Число от 1 до 255. Значение по умолчанию: 5.
Например, запрос http://glav.su/forum/index.php?action=.xml;type=rss;limit=10 вернёт 10 последних сообщений со всего форума.
sa
Тип возвращаемых данных. Возможные значения:
recent - получить последние сообщения форума. Значение по умолчанию.
news - получить список новых тем.
members - получить список последних зарегистрированных пользователей.

Примеры:
http://glav.su/forum/index.php?action=.xml;type=rss;sa=recent - вернёт 5 последних сообщений со всего форума. Тоже самое, что и http://glav.su/forum/index.php?action=.xml;type=rss.
http://glav.su/forum/index.php?action=.xml;type=rss;sa=news - вернёт 5 последних созданных тем со всего форума. Темы возвращаются не за всё время, а за некоторый период, поэтому если за несколько дней на форуме не появилось новых тем, то поток будет пустым. Чтобы увеличить глубину просмотра, можно добавить параметр limit=255: http://glav.su/forum/index.php?action=.xml;type=rss;sa=news;limit=255 - запрос новых тем, но за больший период. Если добавить параметр board или boards, можно ограничить запрос новых тем одним или несколькими разделами, и тем самым повысить глубину просмотра.
http://glav.su/forum/index.php?action=.xml;type=rss;sa=members - вернёт данные о 5 последних зарегистрированных пользователях.

type
Тип возвращаемого потока. Возможные значения:
smf - собственный формат от разработчиков форума. Значение по умолчанию. Возвращаемый таким образом XML содержит больше информации, чем при использовании других типов, но не поддерживается существующими RSS-агрегаторами. Поэтому, чтобы его преобразовать в читабельный вид, надо самостоятельно писать XSLT преобразование.
rss - RSS 0.92.
rss2 - RSS 2.0.
atom - Atom.
rdf - RDF.
Примеры:
http://glav.su/forum/index.php?action=.xml;type=rss
http://glav.su/forum/index.php?action=.xml;type=rss2
http://glav.su/forum/index.php?action=.xml;type=atom
Все потоки выше будут содержить 5 последних сообщений со всего форума но в различных форматах.

Какой формат выбрать? Это зависит от того, какой формат поддерживает ваш агрегатор. Я с агрегаторами не разбирался, но думаю, что последнии версии всех агрегаторов поддерживают все перечисленные форматы кроме SMF. Например, Google Reader поддерживает все форматы кроме SMF.
Какой формат выбрать из поддерживаемых агрегатором? RDF не рекомендую, т.к. он содержит минимум информации. Для чтения новых сообщений и уведомлений о новых темах через Google Reader лучше выбрать Atom, т.к. в этом формате есть поле с именем автора сообщения/темы, а в RSS и RDF его нет.
Для получения списка пользователей через Google Reader подойдёт любой формат, т.к. Google Reader из всех имеющихся полей отображает только имя пользователя.

board
Идетнификатор отслеживаемого раздела. Для данного форума - это число от 1 до 7. Если этот параметр не задан, то возвращаются сообщения со всего форума. Если параметр задан, то возвращаются только новые сообщения или темы, соданные в данном разделе.
Примеры и способ определения идентификатора раздела смотрите ниже.

boards
Один или несколько идентификаторов разделов разделённых запятыми. Если параметр не задан, то возвращаются сообщения со всего форума. Если параметр задан, то возвращаются только новые сообщения или темы, соданные в указанных разделах.
Примеры и способ определения идентификатора раздела смотрите ниже.



Выше перечислено 5 параметров, эти параметры можно сочетать между собой следующим образом:

sa
type
limit
board
boards
recent
*
*
*
N
recent
*
*
N
*
news
*
*
N
*
news
*
*
*
N
members
*
*
N
N

Как читать эту табличку:
* - любое допустимое значение параметра, в том числе его отсутствие
N - отсутствие параметра
Первая строка обозначает, что если sa=recent, то можно использовать любые допустимые значения type, limit и board, но при этом нельзя добавлять параметр boards.
Вторая строка обозначает, что если sa=recent, то можно использовать любые допустимые значения type, limit и boards, но при этом нельзя добавлять параметр board.
Третья и четвёртая строки по аналогии с первой и второй.
Пятая строка обозначает, что если sa=members, то можно использовать любые допустимые значения type и limit, а параметры board и boards в этом случае не имеют смысла.

Пример:
http://glav.su/forum/index.php?action=.xml;type=atom;sa=recent;limit=255;boards=2,7 - этот поток будет содержать 255 последних сообщений из разделов "Важное" (ID=2) и "Технический раздел" (ID=7), причём поток будет в формате Atom.

Обещанные примеры про разделы и про определение их идентификаторов:

Все имеющиеся разделы видны на первой странице форума. Имя раздела - это гиперссылка на этот раздел. Гиперссылка имеет вид: http://glav.su/forum/index.php/board,3.0.html - это гиперссылка на раздел "Главные конференции". Первое число после слова "board" и есть идентификатор раздела. Т.е. идентификатор раздела "Главные конференции" равен 3. Идентификатор раздела может отделяться от слова "board" либо запятой, либо "=".

Все примеры ниже получают 20 последних сообщений в формате Atom из определённых разделов:
http://glav.su/forum/index.php?action=.xml;type=atom;limit=20;board=2 - сообщения раздела "Важное"
http://glav.su/forum/index.php?action=.xml;type=atom;limit=20;board=3 - сообщения раздела "Главные конференции"
http://glav.su/forum/index.php?action=.xml;type=atom;limit=20;board=4 - сообщения раздела "Специальные конференции"
http://glav.su/forum/index.php?action=.xml;type=atom;limit=20;board=5 - сообщения раздела "Проекты"
http://glav.su/forum/index.php?action=.xml;type=atom;limit=20;board=1 - сообщения раздела "Пользовательские темы"
http://glav.su/forum/index.php?action=.xml;type=atom;limit=20;board=6 - сообщения раздела "Разговоры"
http://glav.su/forum/index.php?action=.xml;type=atom;limit=20;board=7 - сообщения раздела "Технический раздел"
http://glav.su/forum/index.php?action=.xml;type=atom;limit=20;boards=3,4 - сообщения разделов "Главные конференции" и "Специальные конференции"

Огромное спасибо hexer! Это сообщение было написано по мотивам его сообщения в Вопросах пользователей.
Отредактировано: York - 07 фев 2010 17:06:48
  • +0.00 / 0
  • АУ
ОТВЕТЫ (0)
 
Комментарии не найдены!