けど公開されているガジェットが動作しない・・
そこで前回のGmailの取得を利用して(前回はこちら) Google SitesのGmailの未読の有無がわかるガジェットを作成します。
【準備】
※下図は既に追加されています
Google Apps Scriptを新規作成
Google ドライブ>新規>その他>Google Apps Script「空のプロジェクト」を選択します
ファイル>新規作成>HTMLファイルを選択
ファイル名を入れてOKボタンを押します
ここでは「HogeGmail」にしました
Google ドライブ>新規>その他>Google Apps Script
ここでは「HogeGmail」にしました
【コード.gs】
まず先ほど作成したHTMLをdoGetで呼び出します
メール取得を関数化しておきます
【HogeGmail.html】
以下は必要に応じて調整が必要CSS
body内HTML
function doGet(e) { return HtmlService.createHtmlOutputFromFile('HogeGmail'); }
前回投稿とほぼ同じですが最低限にしてます
function getMail(){ var datReturn =new Object(); try{ //スレッド数 var thds = GmailApp.search("is:unread", 0, 100); //未読件数 var i = 0; var cFrom; var searchchar = Session.getActiveUser().getEmail(); for(var n in thds){ var thd = thds[n]; var msgs = thd.getMessages(); for(m in msgs){ var msg = msgs[m]; cFrom =msg.getFrom(); //自分が出した返信メールは除外する。 var searchidx = cFrom.search(searchchar); if (searchidx <= 0 && msg.isUnread() === true){ i++; } } } datReturn['count'] = i; return(datReturn) } catch(err){ Logger.log(err) datReturn['count'] = 0; return(datReturn) } }
コード.gsはこれで終わりです!
【HogeGmail.html】
以下は必要に応じて調整が必要
td { text-align: center; } .title { font-size:11px; margin:0; padding: 0; line-height:1em; } .wrapper { overflow: hidden; line-height:1em; } .icon .badge { position: absolute; top: 1px; left: 25px; width: 20px; height: 20px; border-radius: 50%; } .icon .badge .inner { display: block; position: relative; margin: 1px; font-size:12px; width: 18px; height: 18px; border-radius: 50%; color: #fff; line-height: 19px; text-align: center; /* FLAT */ background:#FE2E64; }
各自アイコンは準備してください
ここではアイコンサイズは32pxですが、cssを弄ればいろんなサイズ対応は可能です。
ここではアイコンサイズは32pxですが、cssを弄ればいろんなサイズ対応は可能です。
<body onLoad="setInterval('doReload()',1000*60*15)"> <div id="icondata"> <table align="left" border="0" cellpadding="5" cellspacing="1"> <tbody> <tr> <td> <div class="wrapper"> <a href= "https://mail.google.com/mail/u/0/#inbox" target="_blank"> <img src="../googlemail-32.png"> <div id="CntRep"></div> <div class="title">Gmail</div> </a> </div> </td> </tr> </tbody> </table> </div> </body>
一旦ここまでとします。
あとはJavaScriptとガジェットへの追加方法となりますが
次回の投稿とします。
あとはJavaScriptとガジェットへの追加方法となりますが
次回の投稿とします。
0 件のコメント:
新しいコメントは書き込めません。