サムライクラウド連携QuickStart¶
ガジェットXMLの基本¶
ガジェットXMLはOpenSocialの規定に沿って作成します。
コンテナをAipoとする場合はさらにAipo用の拡張属性等を指定する事ができます。
Aipo用ガジェット作成について詳しくは下記リンクをご参照ください。
Aipoアプリ
サムライクラウド連携ガジェットの基本¶
サムライクラウドはOpenSocialガジェットが容易にWebサービスと通信を行うための機能をフレームワーク(以下FW)として提供しています。
現在FWが提供している機能は下記となります。
機能 | 説明 | |
1 | OAuth認証 | キー等の情報をあらかじめ設定しておくことで、リクエスト時にFWが自動で認証処理を行います |
2 | リクエストプロキシ | クロスサイト間でのリクエストを疎通させるためのプロキシ機能を用意しています(ガジェットXMLをサービス側においている場合不要) |
詳しくは下記資料をご参照ください(pptx)
サムライクラウド前本資料.pptx
手順¶
1 | パラメータ類設定 |
2 | FWのリクエストを呼び出す |
3 | リクエスト後の画面表示メソッドを作成 |
サムライクラウド連携ガジェットサンプル¶
xgate連携ガジェットをサンプルとして示します。
1
2 <?xml version="1.0" encoding="UTF-8"?>
3 <Module>
4 <ModulePrefs
5 title="xgate新着メール(TEST)"
6 description="xgate新着メール表示ガジェット(TEST)">
7 <Require feature="aipostyle"/>
8 <Require feature="oauthpopup"/>
9 </ModulePrefs>
10 <Content type="html" preferred_height="400"><![CDATA[
11 <script src="https://d2hv4ldeur9lfv.cloudfront.net/opensocial-jquery-1.3.2.5.js"></script>
12 <script src="https://aipo.samuraicloud.jp/clienttest/server/js/jquery.cookie.js"></script>
13 <script src="https://aipo.samuraicloud.jp/samuraigadget/common/js/samurai-gadget-0.0.1.js"></script>
14 <script src="https://aipo.samuraicloud.jp/clienttest/gadget/js/md5.js"></script>
15 <script src="https://aipo.samuraicloud.jp/clienttest/gadget/js/date.js"></script>
16
17 <script>
18
19 //連携オブジェクトの生成・パラメータ指定
20 var samuraiGadget = new SamuraiGadget({
21 //debug:true,
22 appId: '',
23 appSecret: '',
24 receiverUrl: '',
25 authorizeUrl: '',
26 tokenUrl: '',
27 attendanceUrl: '',
28 useProxy: false,
29 proxyUrl: '',
30 });
31
32 //連携オブジェクトを取得する関数(定義必須)
33 function getSamuraiGadgetObject() {
34 return samuraiGadget;
35 }
36
37 // 表示更新(定義必須)
38 function updateView(data) {
39 $('#table-recent').empty();
40 $('#table-recent').append('<tr><th>題名</th><th>送信者</th><th>日付</th><th>サイズ</th></tr>');
41 $(data).each(function(){
42 $('#table-recent').append('<tr><td>' + this['subject'] + '</td><td>' + this['mail_from'] + '</td><td>' + this['date'] + '</td><td>' + this['size'] + '</td></tr>');
43 });
44 $('#refresh').click(function() {
45 samuraiGadgetRequest();
46 });
47 }
48
49 // リクエスト送信
50 function samuraiGadgetRequest() {
51 var requestUrl = 'https://xgate.samuraicloud.jp/rest/getrecent.php';
52 $.getJSON(requestUrl,null,updateView);
53 }
54
55 $(samuraiGadgetRequest);
56
57 </script>
58
59 <style>
60 #container {
61 overflow: scroll;
62 width: 100%;
63 height: 250px;
64
65 };
66
67 #control {
68 visibility: hidden;
69 }
70
71 </style>
72
73 <div class="aipostyle">
74
75 <div id="container"/>
76 <table id="table-recent" class="form wide"/>
77 <div id="controll"><button id="refresh" value="REFRESH">REFRESH</button></div>
78 <div id="log"/>
79
80 </div>
81
82 <script type="text/javascript">
83 function gadgetsInit() {
84 gadgets.window.adjustHeight();
85 }
86 gadgets.util.registerOnLoadHandler(gadgetsInit);
87 </script>
88 ]]></Content>
89 </Module>
90