[GAS]メールアドレスから名前を取得する方法

ホーム » GAS » [GAS]メールアドレスから名前を取得する方法

■このページを読んでわかること

GASを使用して、メールアドレスから氏名を取得する方法

■対象者

メールアドレスから苗字・名前を取得したい方
GooleWordpressの管理者権限を持っている方

■GAS実行前の準備

[GAS]GAS(GoogleAPI)の始め方を参考にして、スプレッドシートを準備してください。
列の値は下記の画像のようにしてください。
今回使用するのは主に「B列」「C列」となります。


メールアドレス取得のためには、管理者権限が必要になります。
権限を画像の場所から追加していきます。
「サービス」から「サービスを追加」を選択します。


「AdminDirectry」を選んで追加を選択します。


サービスの部分に追加されていればOKです。


■実際のコード

function fullname (){ 
 
 
 var lastRow = sheet.getLastRow(); //このシートで取得できる最後の行 
 var startRow = 2;  //2行目からデータが始まる
 var numRows = lastRow -1;  //最後の行から-1行までデータ取る
 var dataRange = sheet.getRange(startRow,1,numRows,6); //何行目から何行目までデータをとるか
 var data = dataRange.getValues(); //データの範囲から複数取得
  for (var i = 0i < data.length; ++i) { //配列の0個めから配列のMaxまで繰り返す
   var row = data[i];
   row.rowNumber = i + startRow; //数え始めはstartrowで設定したところが0.0になります
   
   if (!row[2]) {  //名前が空白であれば処理を実行
      var result = "";
     try{
      //var acss = row(1) 
      var acss = row[1
      //fullname = AdminDirectory.Users.list(acss).name.familyName;
      var user = AdminDirectory.Users.get(acss);
      result = user.name.familyName;
      name = user.name.givenName;
      fullname = result+" "+name
     //sheet.getRange.row(2).setValues(fullname)//上記で取得したデータをどこに出力するか
     }catch(e){
        fullname = "名前取得できませんでした;" + e ;
     }
    sheet.getRange(row.rowNumber,3).setValue(fullname); 
   }
  }

■GASコードの解説

startRow:開始行 今回は2行目
numRows:現在処理をしている行
dataRange:データを扱う範囲
if (!row[2]):A列を0として2行目が空白の場合処理が走る
var acss = row[1]:メールアドレス列
fullname = “名前取得できませんでした;” + e :こちらはエラーメッセージ
sheet.getRange(row.rowNumber,3).setValue(fullname):3列目に出力する

■最後に

台帳などを作成する際にメールアドレスさえあれば、氏名を自動で取得するので
情シスの方など台帳作成を依頼された際は重宝します。
下記のGASコードなどと組み合わせると更に利便性があがります。

[GAS]GASを使用したメール一斉送信
[GAS]フォルダ内のURLを抽出する方法
[GAS]GAS(GoogleAPI)使用したカレンダー登録
[GAS]GAS(GoogleAPI)の始め方

タイトルとURLをコピーしました