SlideShare a Scribd company logo
Google Apps Script
活用ミートアップ
adish株式会社 hisashi.inoue
自己紹介
● 井上久志
● adish株式会社
● 技術開発部
● 部長
自己紹介
● 趣味
○ 漫画
■ 主に4コマ
○ 映画
最近観て面白かった映画
ドリーム(原題:Hidden Figures)
● 冷戦真っ只中、黒人差別真っ只中な時代、
マーキュリー計画当時のNASAの実話
● PCもない時代の計算係の黒人女性のお話
● 観客によって、捉え方・感情移入の仕方が変わる
面白さ
● エンジニア的にも納得の内容
弊社取締役陣もハマって
adish社内で、
鑑賞代半額補助制度が
出来てしまった
会社概要
Copyright adish Co.Ltd. All rights reserved. 8
社名 アディッシュ株式会社
設立 2014年10月1日
資本金 3000万円
代表取締役 江戸 浩樹
事業内容 企業及び学校向け
ソーシャルメディアモニタリング
事業
カスタマーサポート事業
従業員数 500名(アルバイト、子会社含む)
本社所在地 東京都品川区西五反田1-21-8
KSS五反田ビル 8F
電話番号 03-5759-0334
URL http://www.adish.co.jp
社名の由来:
お皿は多種多様な料理を乗せることができ、美味しく、綺
麗に見せる為の重要な役割を担っています。コミュニケー
ションを主として、多種多様な世の中のニーズや社会課題
の受け皿となり、我々の事業で支えて行きたいという想い
が込められています。
つながりを常によろこびに
企業ミッショ
ン
主要事業
Copyright adish Co.Ltd. All rights reserved. 9
9
アディッシュ(東京・福岡・仙台)
アディッシュプラス(沖縄)
アディッシュインターナショナル(フィリピン)
投稿モニタリング事業 ネットいじめ
対策事業
アプリ
カスタマーサポート事業
基盤事業
次世代事業
チャットボット
事業
Web接客/Web集客
事業
MONI SG SAS
FS hitobo
技術で事業を加速させる
エンジニアが大切にしていること
Copyright adish Co.Ltd. All rights reserved. 10
11
FAQ対応特化で、設計不要のチャットボット
『hitobo Q&A』
カスタマーサポート充実と効率化
コンバージョン率の向上
Copyright adish Co.Ltd. All rights reserved.
新規事業開発チーム
• スクラムで開発
• 営業進捗も都度チームで共有
• 作らずに検証できる方法は?
• UI/UXを大事に new
Copyright adish Co.Ltd. All rights reserved. 12
こんな技術を活用しています
Copyright adish Co.Ltd. All rights reserved. 13
機械学習にも取り組んでいます
Copyright adish Co.Ltd. All rights reserved. 14
会社紹介、以上
GASで
業務ツールを作った話
メインのお話
目次
● google custom search APIを
使ったチェックツール
● Yahoo auction search APIを
使ったチェックツール
● YouTube Data API v3を
使ったチェックツール
全て、検索の話です
モニタリングのついでに、
ググッた結果を
まとめる業務も
委託させてくれないかな
はいっ
よろこんでー!
あれ?
思ってたより
面倒くさいなコレ
検索結果をまとめる業務の課題点
● 「どこまでチェックしたか」を記録していないと、
次やる時に重複して同じものを見てしまう
● 同じ業務を、他の人も担当するので、ちゃんと引
き継げている必要がある
● Excelファイルで管理しているとファイルのバージ
ョン管理に難が出る。同時編集もできない
技術開発部の出番?
● 開発を行ってツール化することも出来る
● しかし、この業務を行う案件の数も、それほど多
くない。かつ案件によって目的も微妙に異なるの
で、開発するコストのほうが高くなってしまう
● それほどウマい業務でもない
● けれど効率化はしたい
よろしい、ならばGASの出番だ
Google検索チェック
google検索チェック
● いわゆるエゴサーチ
● どういった話題が上がってきているのかをチェッ
クする業務
実装手順
● keyとcxを取得する
○ key => google cloud consoleから取得
○ cx => google custom search engineから
取得
● ゴリゴリ実装する
google custom search API
● 100req/dayまで無料
● それ以上は有料
○ 参考:38,963req/monthで21,148円
■ USD→JPYレート113.205で換算
ノウハウ (1)
var response = UrlFetchApp.fetch(
'https://www.googleapis.com/customsearch/v1?key='+key+'&cx='+cx+'&q='+text+'&dat
eRestrict=w1&safe=off&lr=lang_ja&num=10&sort=date&start='+start,
{ "muteHttpExceptions" :true }
).getContentText();
● key, cxは前述のcustom searchのkey,cx
● dateRestrictで取得範囲を指定。w1は1週間分。
ノウハウ (2)
var response = UrlFetchApp.fetch(
'https://www.googleapis.com/customsearch/v1?key='+key+'&cx='+id+'&q='+text+'&dat
eRestrict=w1&safe=off&lr=lang_ja&num=10&sort=date&start='+start,
{ "muteHttpExceptions" :true }
).getContentText();
● num=10で1reqで10件取得(最大値)
● start=1〜11でページ指定
● つまり最大で100件までしか取得できない
GASじゃなくて
custom search APIのノウハウ
custom search APIの詳細は
公式ドキュメントをどうぞ
https://developers.google.com/custom-search/json-api/v1/using_rest
ノウハウ (3)
var response = UrlFetchApp.fetch(
'https://www.googleapis.com/customsearch/v1?key='+key+'&cx='+id+'&q='+text+'&dat
eRestrict=w1&safe=off&lr=lang_ja&num=10&sort=date&start='+start,
{ "muteHttpExceptions" :true }
).getContentText();
● muteHttpExceptionsにtrueを指定していないと、
httpリク失敗した際にGASの処理が停まる
ノウハウ (4)
GASの最大動作時間は約6分
それ以上の処理時間がかかる場合、処理途中でもブッ
ツリ途切れてしまうので注意が必要。
オークションチェック
オークションチェック
● ヤフーオークションを特定キーワードで検索した
結果をチェックする業務
● クライアント企業のアレコレが違法出品されてい
ないか
実装手順
● yahoo JAPAN IDを取得する
● yahoo アプリケーションIDを取得する
● ゴリゴリ実装する →※後述
● 社内メンバに使ってもらう
● 改善ポイントを貰って、また実装する
※実装する
● キーワードシートからキーワード一覧を取得
● 結果シートから既に取得済みのID一覧も取得する
● キーワードずつauction search APIに投げる
○ JSONPをJSON形式にゴリッと変える
○ 取得済みIDの場合は弾く
● 結果シートにsetしていく
● 最後にサムネ画像のサイズを変更する
実演(※時間があれば)
ノウハウ (5)
.setValue('=IMAGE("' + image_url + '")'),
画像のURLを上記の様にsetすると画像をsheet上に
表示できる
ノウハウ (6)
● 前述の通り、6分しか稼働しないGAS。検索キー
ワードによっては1日1回の検索だと件数が多くて
時間内に処理しきれないことがある
● その為、細かく1時間に1回実行するようtrigerを
設定している
YouTube検索チェック
YouTubeチェック
● YouTubeをキーワード検索した結果をチェックす
る業務
● クライアント企業に対して言及している動画がア
ップロードされていないかチェック
取得処理に限って言うと、
実はこれが一番簡単
クリック
ONにする
有効にしろと言われた
ので有効にしにいく
クリック
検索
出てきたYouTube Data
API v3をクリック
クリック
あとはこう書く
var results = YouTube.Search.list('id,snippet', {
q: 'ガイアックス',
maxResults: 50,
safeSearch: 'none',
order: 'date',
publishedAfter: Utilities.formatDate(today, "GMT", "yyyy-MM-
dd'T00:00:00Z'")
});
結果がJSONで取得できる!
あとは、そのJSONを
ゴリゴリ弄って
シートにsetしていくだけ
かんたん!
その他GASで使えるgoogle API
● Admin Directory API
● Admin Reports API
● AdSense Management API
● Google Analytics API
● Google Analytics Reporting API
● G Suite Activity API
● BigQuery API
● Calendar API
● Google Classroom API
● Content API for Shopping
● DCM/DFA Reporting And Trafficking API
● Drive API
● Fusion Tables API
● Gmail API
● Groups Migration API
● Groups Settings API
● Enterprise License Manager API
● Google Mirror API
● Google+ API
● Google+ Domains API
● Prediction API
● Enterprise Apps Reseller API
● Google Sheets API
● Google Slides API
● Tag Manager API
● Tasks API
● URL Shortener API
● YouTube Data API
● YouTube Analytics API
● Youtube Content ID API
これらを活用して
業務を楽にしましょう!
ちなみに
本日話した内容は
「業務ツール」としては
「検索結果を取ってきて、
シートに突っ込む」
部分までの内容です
業務ツールとしての機能
● チェックそのものを容易にする
● 取得件数や対応した件数を集計する機能
● レポートを作成する機能
● レポートをメール送信する機能
● など
ここまでやれると、
業務が捗りますね
そして今度は
メンテナンスコストの問題に…
ならないよう、
引き継ぎができるように
諸々整えておきましょう!
以上、
ありがとうございました!

More Related Content

Similar to Google apps script 活用ミートアップ

シラサギ紹介20161119
シラサギ紹介20161119シラサギ紹介20161119
シラサギ紹介20161119
Naokazu Nohara
 
シラサギ紹介 OSC島根
シラサギ紹介 OSC島根シラサギ紹介 OSC島根
シラサギ紹介 OSC島根
Naokazu Nohara
 
Osc島根
Osc島根Osc島根
Osc島根
Naokazu Nohara
 
シラサギ紹介OSC京都2017
シラサギ紹介OSC京都2017シラサギ紹介OSC京都2017
シラサギ紹介OSC京都2017
Naokazu Nohara
 
シラサギ紹介20170525
シラサギ紹介20170525シラサギ紹介20170525
シラサギ紹介20170525
Naokazu Nohara
 
gumiにおける、海外支社とのAtlassian製品利用事例
gumiにおける、海外支社とのAtlassian製品利用事例gumiにおける、海外支社とのAtlassian製品利用事例
gumiにおける、海外支社とのAtlassian製品利用事例
知教 本間
 
シラサギ紹介osc京都
シラサギ紹介osc京都シラサギ紹介osc京都
シラサギ紹介osc京都
Naokazu Nohara
 
Shirasagi20190222(OSC TOKYO)
Shirasagi20190222(OSC TOKYO)Shirasagi20190222(OSC TOKYO)
Shirasagi20190222(OSC TOKYO)
Naokazu Nohara
 
OSC KYOTO 2018
OSC KYOTO 2018OSC KYOTO 2018
OSC KYOTO 2018
Naokazu Nohara
 
シラサギ紹介20170915
シラサギ紹介20170915シラサギ紹介20170915
シラサギ紹介20170915
Naokazu Nohara
 
シラサギ紹介(OSC東京)
シラサギ紹介(OSC東京)シラサギ紹介(OSC東京)
シラサギ紹介(OSC東京)
Naokazu Nohara
 
OSCnagoya2019(Shirasagi20190709)
OSCnagoya2019(Shirasagi20190709)OSCnagoya2019(Shirasagi20190709)
OSCnagoya2019(Shirasagi20190709)
Naokazu Nohara
 
OSC長岡
OSC長岡OSC長岡
OSC長岡
Naokazu Nohara
 
Osc広島2017
Osc広島2017Osc広島2017
Osc広島2017
Naokazu Nohara
 
SHIRASAGI Introduction OSC nagoya 2016
SHIRASAGI Introduction OSC nagoya 2016SHIRASAGI Introduction OSC nagoya 2016
SHIRASAGI Introduction OSC nagoya 2016
Naokazu Nohara
 
オープンソースがエンドユーザーイニシアティブをもたらす!? — 「シラサギ」使ったらこんなこともあんなことも —
オープンソースがエンドユーザーイニシアティブをもたらす!? — 「シラサギ」使ったらこんなこともあんなことも —オープンソースがエンドユーザーイニシアティブをもたらす!? — 「シラサギ」使ったらこんなこともあんなことも —
オープンソースがエンドユーザーイニシアティブをもたらす!? — 「シラサギ」使ったらこんなこともあんなことも —
Open Source Software Association of Japan
 
第26回八子クラウド座談会当日メモ付き_20180407
第26回八子クラウド座談会当日メモ付き_20180407第26回八子クラウド座談会当日メモ付き_20180407
第26回八子クラウド座談会当日メモ付き_20180407
知礼 八子
 
PHP,Go,Elasticsearchによる、@cosmeを5倍速くする取り組み
PHP,Go,Elasticsearchによる、@cosmeを5倍速くする取り組みPHP,Go,Elasticsearchによる、@cosmeを5倍速くする取り組み
PHP,Go,Elasticsearchによる、@cosmeを5倍速くする取り組み
Kenjiro Kubota
 
OSC Chiba 2017
OSC Chiba 2017OSC Chiba 2017
OSC Chiba 2017
Naokazu Nohara
 
デンキヤギの採用の考え方
デンキヤギの採用の考え方デンキヤギの採用の考え方
デンキヤギの採用の考え方
terurou
 

Similar to Google apps script 活用ミートアップ (20)

シラサギ紹介20161119
シラサギ紹介20161119シラサギ紹介20161119
シラサギ紹介20161119
 
シラサギ紹介 OSC島根
シラサギ紹介 OSC島根シラサギ紹介 OSC島根
シラサギ紹介 OSC島根
 
Osc島根
Osc島根Osc島根
Osc島根
 
シラサギ紹介OSC京都2017
シラサギ紹介OSC京都2017シラサギ紹介OSC京都2017
シラサギ紹介OSC京都2017
 
シラサギ紹介20170525
シラサギ紹介20170525シラサギ紹介20170525
シラサギ紹介20170525
 
gumiにおける、海外支社とのAtlassian製品利用事例
gumiにおける、海外支社とのAtlassian製品利用事例gumiにおける、海外支社とのAtlassian製品利用事例
gumiにおける、海外支社とのAtlassian製品利用事例
 
シラサギ紹介osc京都
シラサギ紹介osc京都シラサギ紹介osc京都
シラサギ紹介osc京都
 
Shirasagi20190222(OSC TOKYO)
Shirasagi20190222(OSC TOKYO)Shirasagi20190222(OSC TOKYO)
Shirasagi20190222(OSC TOKYO)
 
OSC KYOTO 2018
OSC KYOTO 2018OSC KYOTO 2018
OSC KYOTO 2018
 
シラサギ紹介20170915
シラサギ紹介20170915シラサギ紹介20170915
シラサギ紹介20170915
 
シラサギ紹介(OSC東京)
シラサギ紹介(OSC東京)シラサギ紹介(OSC東京)
シラサギ紹介(OSC東京)
 
OSCnagoya2019(Shirasagi20190709)
OSCnagoya2019(Shirasagi20190709)OSCnagoya2019(Shirasagi20190709)
OSCnagoya2019(Shirasagi20190709)
 
OSC長岡
OSC長岡OSC長岡
OSC長岡
 
Osc広島2017
Osc広島2017Osc広島2017
Osc広島2017
 
SHIRASAGI Introduction OSC nagoya 2016
SHIRASAGI Introduction OSC nagoya 2016SHIRASAGI Introduction OSC nagoya 2016
SHIRASAGI Introduction OSC nagoya 2016
 
オープンソースがエンドユーザーイニシアティブをもたらす!? — 「シラサギ」使ったらこんなこともあんなことも —
オープンソースがエンドユーザーイニシアティブをもたらす!? — 「シラサギ」使ったらこんなこともあんなことも —オープンソースがエンドユーザーイニシアティブをもたらす!? — 「シラサギ」使ったらこんなこともあんなことも —
オープンソースがエンドユーザーイニシアティブをもたらす!? — 「シラサギ」使ったらこんなこともあんなことも —
 
第26回八子クラウド座談会当日メモ付き_20180407
第26回八子クラウド座談会当日メモ付き_20180407第26回八子クラウド座談会当日メモ付き_20180407
第26回八子クラウド座談会当日メモ付き_20180407
 
PHP,Go,Elasticsearchによる、@cosmeを5倍速くする取り組み
PHP,Go,Elasticsearchによる、@cosmeを5倍速くする取り組みPHP,Go,Elasticsearchによる、@cosmeを5倍速くする取り組み
PHP,Go,Elasticsearchによる、@cosmeを5倍速くする取り組み
 
OSC Chiba 2017
OSC Chiba 2017OSC Chiba 2017
OSC Chiba 2017
 
デンキヤギの採用の考え方
デンキヤギの採用の考え方デンキヤギの採用の考え方
デンキヤギの採用の考え方
 

Google apps script 活用ミートアップ