• 検索結果がありません。

DATA API

ドキュメント内 勉強会 資料 Google Developer Group 京都 (ページ 37-76)

• wave 情報 検索 得

Embed API

• 自分 wave 組 込

• 組 込 wave ン い

普通 操作

• ン い い人 込 専用 表

• う Google Wave 様々 拡張

え う い

• Google Wave 拡張 言う 別

拡張 Google Wave 組 込

組 提供 い 言う思惑 用意

API 感 (気 )

日 内容

• 別 挨拶 う う !

• Google Wave 概要

• Google Wave

• Google Wave

• Embed API

• Google Wave Federation Protocol

Wave

Google

XML

画面表示用 HTML

HTML

XML

HTML

JavaScript

Wave 使い方

• Web wave URL

い 貼 付

XML

(HTML+JavaScript)

Web

Google Wave

wave URL 用い

Hello World

<?xml version="1.0" encoding="UTF-8"?>

<Module>

<ModulePrefs title=

"hello world example" />

<Content type="html">

<![CDATA[ <b>Hello, world!</b> ]]>

</Content>

</Module>

状態 共有 (Shared State)

• wave 参加者 共有 一 連想配列

• 従 共有 値 Shared State 保

• Shared State 変更 参加者全員

通知 Wave

Shared state

wave参加者 wave参加者 wave参加者

変更 通知

通知

実際

• 値 保

wave.getState().submitDelta({'count': '0'});

• 値 得

wave.getState().get('count')

• 値 変更 通知

wave.setStateCallback(stateUpdated);

投票 作 う

wave 内容

Good Bad 評価

使用 設定

<Module>

<!-- 指定 -->

<ModulePrefs title="Counter" height="170">

<!-- 使用 指定 -->

<Require feature="wave" />

</ModulePrefs>

<Content type="html">

Require wave 利用可能

詳細 参照

Google Wave Gadgets API Reference

http://code.google.com/intl/ja/apis/wave/extensions/gadgets/reference.html

投票 画面

画面 HTML 普通 作成

span 箇所

onClick属性 動作

記述

<table>

<tr>

<td>

<span onClick="increment();">

<img src="http://XXX/wave/maru.png">

<span id="valInc" >0</span>

</span>

</td>

<td>

onClick

画面 表示 element.innerHTML

ン押 時 処理 ( ○ ン )

// 評価

function increment(){

// 投票数

var value = parseInt(wave.getState()

.get('valInc', '0')) + 1;

//

wave.getState().submitDelta({'valInc': value });

}

State 変

状態変 時 画面 更新 関数 録

wave.setStateCallback(stateUpdated);

終わ 関数

初期 関数 setStateCallback 設定

gadgets.util.registerOnLoadHandler( init );

Wave 貼 付

XML URL 入力

URL 入力 言う 用い

wave

Wave

• 基 Google Google

可能 Wave 可能

• Google Wave専用 API 追加 い

状態保

Wave状態変 Callback

• XML 作成 中 HTML

JavaScript 記述

Wave う一息

• Shared State

等 Wave 開 制限 多

→ う 思え Wave 用い 大変

• Wave wave 情報

日 内容

• 別 挨拶 う う !

• Google Wave 概要

• Google Wave

• Google Wave

• Embed API

• Google Wave Federation Protocol

Wave

wave 操作 駆動

Java Python 記述 GAE

JSON-RPC Web 動作 OK

GAE [email protected]

wave 参加者 追加

wave Wave 動作

Java 場合 Wave

Servlet 実装

HttpServlet AbstractRobot 作成

public void onBlipSubmitted(BlipSubmittedEvent

event) wave

引数 Blip

返信 投稿 行う

実際

public class EchoRobot extends AbstractRobot {

public void onBlipSubmitted(BlipSubmittedEvent event) {

//

// 投稿 処理

//

} }

投稿 返

// 投稿

String submittedText = event.getBlip().getContent();

// 返信 作成

Blip newBlip = event.getBlip().reply();

// 設定

newBlip.append("Echo : "+submittedText);

wave 追加

参加者一覧 追加 表示

Wave 追加

Active Robot API

• 外部 wave 操作

• 認証 OAuth 利用

• AbstractRobot 継 記述

• ン

new wave操作 び出 可能

wave 作成

public void submitNewWave(){

Set<String> participantsSet = new HashSet<String>();

participantsSet.add("[email protected]");

Wavelet wave = newWave("wavesandbox.com",participantsSet);

wave.reply("¥n !");

try {

submit(wave, "http://www-opensocial-sandbox.googleusercontent.com/api/rpc");

} catch (IOException e) { }

}

Wave び出

public static void main( String[] args ){

MyTestRobot robot = new MyTestRobot();

robot.submitNewWave();

}

とても簡単!

既 wave 得 変更

WaveId waveId = new WaveId("wavesandbox.com","w+oDuwl6tIe");

WaveletId waveletId = new WaveletId("wavesandbox.com", "conv+root");

Wavelet fetchedWavelet =

fetchWavelet(waveId, waveletId, rpcServerUrl);

Wavelet

Wave

• Java Python 作成 GAE

操作 駆動

• ActiveRobotAPI 用い Wave外 wave 操作

Wave う一息

• Version2 出 API

API 実装 多

• Version2 大分良

時 遅

日 内容

• 別 挨拶 う う !

• Google Wave 概要

• Google Wave

• Google Wave

• Embed API

• Google Wave Federation Protocol

Embed API

• 任意 Web wave 組 込

API

• Google Wave 録 い い人 組

込 wave 閲覧 編集 様子 見

Web

Wave Client Wave

Embed API 用い wave 組 込 (1)

使用 準備

<script src="http://www.google.com/jsapi" type="text/javascript"></script>

google.load("wave", "1");

初期

var waveFrame = document.getElementById("waveframe");

var embedOptions = { target: waveFrame }

var wavePanel = new google.wave.WavePanel(embedOptions);

wavePanel.loadWave("googlewave.com!w+Ism0RMW_A")

Embed API 用い wave 組 込 (2)

• 表示 場所

<div id="waveframe" style="width: 500px;

height: 100%"></div>

Google Wave API 日 語

情報 古 い 注意

Embed API 用い wave 組 込 ( 3 )

• 組 込 次 う 表示

Embed API う一息

• 機能 ン 貼 付

い い

• wave 一覧 表示等 機能 欲

(あ 検索結果一覧 )

Embed API 意義

• 機能 い Google Google Wave API 使 開 者 欲 い 一番象徴

い API ( 思う)

• Google Wave API Google Wave 拡張

API Google Wave

機能 組 込 拡張 API ( 思う)

日 内容

• 別 挨拶 う う !

• Google Wave 概要

• Google Wave

• Google Wave

• Embed API

• Google Wave Federation Protocol

Google Wave Federation Protocol

Wave 動作

自由 連携

Google Wave Federation Protocol Over XMPP

XMPP 用い

Google Wave Federation Protocol Wave

連携

結局通常 Google Wave Federation

Wave 構成

クライアント Waveサーバ

ロボット (GAE) ロボット

(GAE) ロボット (GAE以外)

Waveサーバ

Waveサーバ

Federation Protocol

C/S

Robot Wire Protocol

ドキュメント内 勉強会 資料 Google Developer Group 京都 (ページ 37-76)

関連したドキュメント