ン 一覧 次
URL
参照http://wave-robot-java-client.googlecode.com/svn/trunk/
doc/com/google/wave/api/EventType.html
Google Apps Engine
ン 録
https://appengine.google.com/
次
URL Google Apps Engine
ンhttps://appengine.google.com/
My Applications Create an Application
ン 新 いApplication
追加 Application Identifier 録
Application Identifier 後 入力
感 完了
右
Google->Deploy To App Engine
App Engine project settings...
先ほ 録 Application Identifier 入力
OK Deploy ン Deploy完了!!
Version Deploy 必要 あ
今 更新 反映 模様
コン 追加
[email protected]
参加者一覧 追加 表示
+ Wave 追加
Blip
作成Done
返 投稿
Blip sm*
含 場合ID
動画情報 得 表示 動画情報 得 次
API
使用http://ext.nicovideo.jp/api/getthumbinfo/sm*
表示 内容 動画 再生数 コ ン
数 数 最後 投稿 コ ン
投稿 対 投稿 記述 い
ID
出ID
動画 情報API
用い 得投稿
private String getMessage( String submittedText ) throws XMLStreamException, IOException{
// 正規表現 コ コ動画 ID 探
Matcher matcher = pattern.matcher(submittedText);
// 見 場合
if( matcher.find() ){
// 最初 見 動画情報 得
String id = matcher.group(0);
// コ コ動画API URL 得
String url = getNiconicoApiUrl(id);
// コ コ動画API 使 動画 情報 検索
String xml = getXml(url);
URL http://ext.nicovideo.jp/api/getthumbinfo/sm123
private String getXml( String urlstr ) throws IOException{
URL url = new URL(urlstr);
InputStream is = url.openConnection().getInputStream();
BufferedReader br = new BufferedReader( new InputStreamReader( is , "UTF-8") ) ;
StringBuilder sb = new StringBuilder();
String line = null;
while( ( line = br.readLine() ) != null ){
sb.append(line);
sb.append("¥n");
}
return sb.toString();
}
個人的 趣味 StAX XML あ Woodstox 使用 使え い 外部Jar 追加
public NiconicoVideoItem parseXml( String xml ) throws XMLStreamException{
XMLInputFactory f = XMLInputFactory.newInstance();
XMLEventReader r = f.createXMLEventReader( new StringReader(xml));
NiconicoVideoItem item = null ; while( r.hasNext() ){
XMLEvent event = r.nextEvent();
以 略
jar
追加 場合 次jar
コwar/WEB-INF/lib
追加 い 通
private String
getNiconicoVideoInfo( NiconicoVideoItem item ){
StringBuilder sb = new StringBuilder();
sb.append("<a href=¥"");
sb.append(item.getUrl());
sb.append("¥">");
...
sb.append("<br />");
sb.append(item.getLastResBody());
return sb.toString();
}
投稿
HTML
使用 使用 限ン <p>, <div>, <b>, <strong>,
<i>, <em>, <u> 使用可能
使用可能 明記 い い <a> 使え
<img> 使用不可
HTML 投稿
textView.appendMarkup(message);
返 う
Wave
追加参加者一覧 追加 表示
投稿 対 反応 完成
投稿 対 子
Blip
作成 う投稿自体 変更 加え ン 作成 い
開 出力 重要!
ン API 使用 Google Apps Engine Web
確認
private Logger logger = Logger.getLogger(this.getClass().getName());
logger.severe("severe");
logger.warning("warning"); // GAE
logger.info("info"); // 無視 logger.config("config");
logger.fine("fine");
logger.finer("finer");
logger.finest("finest");
GAE ン Logs 選択 https://appengine.google.com/
war/WEB-INF/logging.properties
.level = FINEST
Google Apps Engine
動 基本
Google Apps Engine Google Apps Engine
Wave
参加者 行Wave
変更 ン 駆動 使う ン 設定 定義
Blip
投稿HTML
使え1, Google Wave 何
2, Google Wave Gadgets 3, Google Wave Robots
4, Google Wave Federation Protocol
Google Wave Google
提供 動 いWave
Wave Wave Wave
Wave
多数
Wave
連合(Federate)
コ 送 信 場合
回復手段 更新 衝突 場合 解決方 法 細 い部分 定義 あ
コ
Google Wave Google
繋 人
FedOne
https://wave-protocol.googlecode.com/hg/
公開 い
Wave
実装
FedOne
使う 誰Wave
管理者GoogleWave
ワ 広現在
Google Wave Sandbox
可能Wave 自分 記
http://www.24100.net/2009/11/federate-google-wave-sandbox-with-your-own-fedone-server/
FedOne
ソ コWave
ンコ 含 い 独自
GUI Wave
ン 開 い 人い
今後
Android iPhone
専用Wave
ン 場 ? ン コ
(
基本XMPP)
実装 ソ コ 公開 い
コ
1, Google Wave 何
2, Google Wave Gadgets 3, Google Wave Robots
4, Google Wave Federation Protocol
あ あ コ あ
特徴 ン 多人数 時
編集 様々 速度 コ ン 対応
ンソ コ 実装
独自 自由
基本
Google Gadgets Google
Gadgets
可能Wave
可能
Google Wave
専用API
追加 い 状態保
Wave
状態変Callback
XML
作成 中HTML
JavaScript
記述
Google Apps Engine
動 基本
Google Apps Engine Google Apps Engine
Wave
参加者 行Wave
変更 ン 駆動
Blip
投稿HTML
使え ン コ
(
基本XMPP)
実装 ソ コ 公開 い
コ
Hackathon
参加 方 次SVN
使 え う 設定 願いい 京都
GTUG
解説
http://docs.google.com/a/kyoto-gtug.org/present/edit?id=0AWrsKiIIze3BZGN4ams5N3RfNnJj aGRmamRw&hl=en&invite=CKONoMwG