RSS フィード発行のためのコードはこんな感じ。いつも載せるコードよりちょっと長いけれど、まあ備忘録として。
- Feed feed = new Feed();
- feed.setTitle(TextConstruct.create(TextConstruct.Type.TEXT, "Japanese Bloggers Info", null));
- feed.setSubtitle(TextConstruct.create(TextConstruct.Type.HTML, "日本語の Blogger ブログの更新情報を紹介しています。", null));
- feed.setGenerator("1.0", "http://japanese-bloggers.appspot.com/", "Japanese Bloggers Info");
- feed.setUpdated(new DateTime(now.getTime(), 540));
- feed.addLink("alternate", "text/html", "http://japanese-bloggers.appspot.com/");
- feed.addLink("self", "application/rss+xml", "http://japanese-bloggers.appspot.com/feed");
- feed.getAuthors().add(new Person("Kuribo", "http://www.kuribo.info/", "kurikuribo@gmail.com"));
- ArrayList<Entry> entries = new ArrayList<Entry>();
- Entry entry = new Entry();
- entry.setTitle(TextConstruct.create(TextConstruct.Type.TEXT, blogtitle + ": " + posttitle, null));
- entry.setContent(TextConstruct.create(TextConstruct.Type.HTML, summary, null));
- entry.setPublished(DateTime.parseDateTime(postPublished));//postPublished は Blogger のフィードから得た発行日時
- entry.addLink("alternate", "text/html", posturl);
- entry.getAuthors().add(new Person(author));
- entries.add(entry);
- feed.setEntries(entries);
- StringWriter sw = new StringWriter();
- try {
- feed.generateRss(new XmlWriter(sw), new ExtensionProfile());
- } catch (IOException e) {
- //省略
- }
- String rss = sw.getBuffer().toString();
あと 14 行目 content の項目は、アプリケーションでエスケープするので、text でいいやと思って指定してみるとフィードリーダーに本文が表示されず。タイトルは text、内容は html というのがよさそう。
No comments:
Post a Comment
Comments on Google+: