GASを使ってGmailの情報をスプレッドシートに抽出してみた


学んだことを実際に使ってみたいと思って今回実践してみました。
ポイントサイトから届くメールのURLをスプレッドシートに抽出するという内容になります。

毎日来るのでメールを開かなくても一気に１箇所でURLをまとめてクリックできないかなと思った次第です。
（今思えば、URLを抽出するというより、自動でクリックできたらいいな。もっというと、ポイントサイト自体の広告バナーを自動でクリックできたらいいな。なんて思いますが…）

ちなみに学習自体はUdemyの講座で勉強しました。

<a href="https://click.linksynergy.com/deeplink?id=B5fBzGWeI8o&mid=47984&murl=https%3A%2F%2Fwww.udemy.com%2Fcourse%2Fgas_for_operational_efficiency%2F">ビジネスパーソンに贈る業務効率化大全 Google Apps Scriptによる業務の自動化</a>
<img alt="icon" width="1" height="1" src="https://ad.linksynergy.com/fs-bin/show?id=B5fBzGWeI8o&bids=1138543.1&type=10">

メールのタイトルや文面はこんな感じです。


[モッピー]最大3コイン付★本日のおすすめサービス

moppy(モッピー) info@moppy.jp dkim.cuenote.jp 経由
10:09 (1 時間前)
To 自分

ーさん、こんにちは！モッピーです★
今回は、モッピーで大人気のサービスを紹介します♪

◆━━━━━━━━━━━━━━━━━━◆
　マネックス証券
【WEB申し込み後、新規口座開設かつ1取引】で【7,000P】GET！
◆━━━━━━━━━━━━━━━━━━◆
＼1月限定Pアップ!!お見逃しなく／
・購入時の申込手数料は0円！
・投資経験のある方にも人気♪
・100円から投資OK！積立の頻度は「毎日」「月1回」から選べる
だから未経験者でも安心して始められる！

詳しくはコチラから♪
https://pc.moppy.jp/clc/?clc_tag=LP35650566YToxOntpOjA7czo4OiIxMDcwNjIyMyI7fQ==
▲5日以内に上記ＵＲＬアクセスで【1コイン】GET!!
ーーーーーーーーーーーーーーーーーーーーーーーーー

◆━━━━━━━━━━━━━━━━━━◆
　三井住友カード
【カード発行】で【5,000P】GET！
◆━━━━━━━━━━━━━━━━━━◆
・1月末までの限定アップ中！
・初年度年会費無料★
・ご利用金額の20%還元(最大8,000円)プレゼントキャンペーン実施中！

詳しくはコチラから♪
https://pc.moppy.jp/clc/?clc_tag=LP35650566YToxOntpOjA7czo4OiIxMDcwNjY4NyI7fQ==
▲5日以内に上記ＵＲＬアクセスで【1コイン】GET!!
ーーーーーーーーーーーーーーーーーーーーーーーーー

◆━━━━━━━━━━━━━━━━━━◆
　アコムACマスターカード
【新規カード発行】で【3,000P】GET！
◆━━━━━━━━━━━━━━━━━━◆
・最短即日、スピード発行！
・国際ブランドマスターカードのクレジット機能がついて年会費無料！
・お近くのコンビニでいつでも支払い可能！

詳しくはコチラから♪
https://pc.moppy.jp/clc/?clc_tag=LP35650566YToxOntpOjA7czo4OiIxMDcwNjEwNCI7fQ==
▲5日以内に上記ＵＲＬアクセスで【1コイン】GET!!
ーーーーーーーーーーーーーーーーーーーーーーーーー


☆モッピーからのお知らせ☆
◆━━━━━━━━━━━━━━━━━━◆
　モッピーアプリ（iOS、Android）配信中！
　アプリでスマートなポイ活はじめよう。
◆━━━━━━━━━━━━━━━━━━◆
インストールはコチラから♪
https://app.adjust.com/fw1dtqd

◆━━━━━━━━━━━━━━━━━━◆
　モッピーゲーム
　対象ゲームをプレイするだけで毎日モッピーPが1PGETできちゃう！
  期間限定でコイン増量のチャンスも！
　早速プレイしてみよう！
◆━━━━━━━━━━━━━━━━━━◆
今すぐ、毎日貯めるページのモッピーゲームをチェック！
https://pc.moppy.jp/gamecontents/

□━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━□
注意点
※モッピーポイントについて、直接スポンサーサイトへ問合せする事を固く禁じます。
※モッピーポイントについて、直接スポンサーサイトへの問合せを行った場合、
いかなる理由があろうとポイント付与対象外と致します。また退会処理とさせていただく場合もございます。
※ポイントについてのお問合わせはモッピーカスタマーサポート宛てへメールにてお問合わせ下さい。
※広告は予告なく終了する場合がございます。
─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─
ポイント　：61Ｐ
紹介人数　：0人
紹介ＵＲＬ：https://pc.moppy.jp/entry/invite.php?invite=MvTbe1fd
上記ＵＲＬをコピーでお友達に紹介↑
───────────────────────────────────
【メールアドレス変更】
ＰＣ版トップページ下部の「登録情報変更」よりお手続きをお願いいたします。

【ご注意】
※メールの文書が崩れたように見える方は、ご使用のメ－ルソフトのフォント指定を、
Windows[MSゴシック]、Mac[Osaka等幅]等に設定すると、より見やすくなります。

本メールは送信専用のため、ご返信いただいても、お返事は致しかねます。
恐れ入りますが、ご了承ください。
このメールマガジンの再配信、無断転載をかたく禁じます。

発行元：モッピー運営事務局  https://pc.moppy.jp/
───────────────────────────────────


コードはこちらです。


#コード

```javascript:code.gs
function getMessage() {
  var condition = 'subject:(コイン付)';
  var start = 0;
  var max = 100;
  var threads = GmailApp.search(condition, start, max);
  var messages = GmailApp.getMessagesForThreads(threads);

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('URL');
  
  var firstRow = 2;
  
  messages.forEach(function(message){
    var body = message[0].getPlainBody(); 
    
    var date = message[0].getDate();
    var url = body.split('詳しくはコチラから♪')[1].split('▲5日以内に')[0]
    
    
    var data = [date, url];
    
    sheet.getRange(firstRow, 1, 1, data.length).setValues([data]);
    
    firstRow++;
  }); 
 
  
}

```

ざっくり言うと
タイトルに「コイン付」とあるメッセージを検索して

URLが含まれている箇所の前後で文面を分ける（split）という流れです。


#結果

![スクリーンショット 2021-01-27 12.12.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/417218/f3eea203-95e3-e212-c043-1831b77e233e.png)


こんな感じでdateとURLを抽出できました。


しかし、３件URLがあるうちの１件のみしかできていませんでした。。。

まだまだ改良が必要です。

こうしたほうがいいんじゃないの？
みたいなアドバイスなどありましたら
気軽にコメントいただけると嬉しいです。





お粗末さまでした。。。