けど公開されているガジェットが動作しない・・
そこで前回の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 件のコメント:
新しいコメントは書き込めません。