GASでGoogle連絡先の「会社名」と「役職」を取得する【送付状作成ツール②】

こんにちは。ITライターのもり(@moripro3)です!GoogleAppsScriptの記事をお届けしています!

「送付状作成ツール」を題材として、GASの自動化事例をシリーズでお届けしています。

Googleサービスのひとつである「Google連絡先」の登録データをスプレッドシートに取得して、送付状の宛先欄に自動で書き込むGASツールです。

「自動化でバックオフィス革命」がモットーのオートメーションラボ株式会社では、このような流れで「送付状作成」を行っています。

送付状作成ツールの全体像2

※この連載シリーズは、GASの処理である赤枠部の範囲を紹介します。シリーズの最後で実物のツール(スプレッドシート)を公開しますので、ぜひご活用ください。

当シリーズのメイン処理は「Google連絡先のデータをスプレッドシートに取得する処理」です。

Google連絡先の取得

 

前回の記事では、Google連絡先からデータを取得する最初の一歩として、「氏名」データを取得し、ログ出力するところまでを紹介しました。

GASでGoogle連絡先の「氏名」を取得する【送付状作成ツール①】

2019.10.31

Google連絡先の「氏名」を取得するコードがこちら。

 

スクリプト実行ログです。Google連絡先の登録件数(4件)分の氏名を出力できました。

 

Google連絡先から会社名と役職を取得する

今回の記事では「Google連絡先」から「会社名」と「役職」を取得します。

Google連絡先からデータを取得するには、ひとり分の全データが含まれている「Contactオブジェクト」を操作することを、前回の記事で紹介しました。

Contactオブジェクト

今回も引き続き、この「Contactオブジェクト」からデータを取得します。

「会社名」と「役職」を取得するための重要なポイントが「会社フィールド」です。

Google連絡先の「会社フィールド」とは?

会社フィールドとは、会社データの項目の集まりです。Google連絡先の「会社」「役職」の2項目で構成されています。

Google連絡先の会社フィールド

「氏名」は、Contactオブジェクトから直接アクセスすることができましたが、

  • Contactオブジェクト → 氏名(※正確には「姓」「名」)

 

「会社名」と「役職」は、「会社フィールド」の中に存在するので、下記の順番でアクセスします。

  • Contactオブジェクト → 会社フィールド → 会社名
  • Contactオブジェクト → 会社フィールド → 役職

 

Google連絡先にサンプルデータとして4件登録しています。まずはこの4件の「会社フィールド」を取得してみます。

Google連絡先の登録データ

各連絡先の「会社フィールド」を取得する

ContactクラスのgetCompaniesメソッドで、連絡先の「会社フィールド」を取得します。

getCompaniesメソッド
  • Contactオブジェクト.getCompanies()

指定の連絡先の会社フィールドを取得します。

※戻り値は、CompanyFieldクラスの配列です。

会社フィールドを取得するコードがこちらです。

 

スクリプト実行結果です。4件の連絡先それぞれについて [CompanyField] という配列が取得できたことがわかります。

 

ログでは中身がわかりませんが、ひとまず「会社フィールド」が取得できました。この「会社フィールド」の中に、「会社名」と「役職」が含まれています。

「会社フィールド」から「会社名」と「役職」を取得する

「会社フィールド」はCompanyFieldクラスのオブジェクトです(公式ドキュメントはこちら

CompanyFieldオブジェクトから「会社名」と「役職」を取得する2つのメソッドです。

getCompanyNameメソッド・getJobTitleメソッド
  • CompanyFieldオブジェクト.getCompanyName()

「会社名」の文字列を取得します。

  • CompanyFieldオブジェクト.getJobTitle()

「役職」の文字列を取得します。

※「部門」を取得するメソッドは存在しません

「会社名」と「役職」を取得するコードです。

会社情報が未登録の場合、つまり、変数 companieslength が0の場合、getCompanyNameメソッドの使用時にエラーとなるため、companies.length をチェックします。

また、CompanyFieldオブジェクトの変数 companies は配列のため、要素番号の指定が必要です。1連絡先につき1フィールドなので、1番目を表す[0]を指定します。

 

スクリプト実行結果です。連絡先4件分の「会社名」と「役職」が取得できました。「会社名」「役職」のいずれかの登録値がない場合、空白になります。

 

【まとめ】Google連絡先から氏名・会社データを取得する

今回の記事では、GASで「Google連絡先」から会社データ(会社名・役職)を取得する方法を紹介しました。

前回の記事(GASでGoogle連絡先の「氏名」を取得する)と合わせて、3項目を取得できました。

  • 氏名
  • 会社名
  • 役職

 

ここまでの処理をまとめます。Google連絡先に登録されている連絡先の「氏名」「会社名」「役職」を取得するスクリプトがこちら。

 

スクリプト実行結果です。各連絡先について「氏名」「会社名」「役職」を取得・出力できました。

 

次回は「Google連絡先から取得したデータをスプレッドシートに書き込む方法」を紹介します。これまでに取得した3項目(氏名・会社名・役職)をスプレッドシートに出力しますよ。

GASでGoogle連絡先から取得したデータをスプレッドシートに書き込む【送付状作成ツール③】

2019.11.05

 


sweeep|請求書AI-OCR

請求書の会計処理を自動化します
請求書AI-OCR「sweeep」

面倒な請求書の会計処理をAIで自動化。100枚をたった3分で処理できます。月末に貯まった請求書を一掃しましょう。