見出し画像

Lark APIをGASで使ってみた話

- Lark APIを使用して、GASと組み合わせた独自の業務ツールを作成する手順について紹介する記事。
GAS(Google Apps Script)を使用して、Lark APIを活用する方法を紹介します。Larkは、ビジネスチャットツールであり、APIを使うことで自動化などの様々な機能を追加することができます。本記事では、GASでLark APIを使うための手順やサンプルコードを解説します。具体的には、Lark APIの概要や認証方法、APIリクエストの送信方法などを説明します。さらに、Lark APIを使った具体的な活用事例も紹介します。GASを利用してLarkの機能を拡張したい方や、Lark APIの使い方に興味のある方は必見です。

Lark APIとGASを連携させるメリット

Lark APIをGASで利用することの大きなメリットは、Googleの強力なスクリプト環境とLarkの多様なビジネスアプリケーション機能を組み合わせることができる点です。たとえば、Google Sheetsに保存されている顧客データを基にLarkで通知を送る、またはLarkのミーティングスケジュールをGoogle Calendarに同期するといったことがスクリプト一つで実現できます。これにより、業務の効率化が図れるだけでなく、ユーザーエクスペリエンスも向上します。
このような連携により、企業やチームはさまざまなデータソースとツールをシームレスに統合し、日常業務をスムーズに進めることが可能になります。

Lark APIとは

Lark(ラーク)は、チームワークとコミュニケーションを効率化するための統合型のオフィスツールスイートです。メッセージング、ビデオ会議、カレンダー、ドキュメント作成、さらにはカスタムアプリケーションの開発がこのプラットフォーム上で可能です。LarkのAPIを利用することで、外部のアプリケーションからLarkプラットフォーム上のデータにアクセスしたり、Larkの機能を外部のシステムで拡張したりすることができます。例えば、顧客管理システムやプロジェクト管理ツールとLarkを連携させ、データの同期や通知の送信などが行えます。

Google Apps Script(GAS)の基本

Google Apps Script(GAS)は、Google Cloud上で動作するJavaScriptベースのスクリプティングプラットフォームです。GASを使うと、Google Workspace(旧G Suite)に属するGoogle Docs、Google Sheets、Google Slides、Google Calendar、Gmailなどのサービスをプログラミング的に操作できます。GASは特に、Googleのサービス間でのデータ連携や自動化、カスタム機能の開発に適しています。また、HTTPリクエストを送信することで外部APIとの連携も可能です。


Lark APIへのアクセス方法

Lark APIの認証プロセス
Lark APIを使用するためには、まずAPIへの認証が必要です。これは、安全な方法でAPIを利用するためにアクセストークンを取得し使用するプロセスです。具体的には以下のステップに従います:

  1. Lark Developer Portalにアクセス: Larkの開発者ポータルにログインし、アプリケーションを登録します。

  2. アプリケーション登録: 必要な情報を入力し、アプリケーションを作成。これにより、APIキーとシークレットが生成されます。

  3. アクセストークンの取得: アプリケーションの認証情報(APIキーとシークレット)を使用して、APIアクセストークンを取得します。通常、OAuth 2.0プロトコルが用いられ、トークンは特定の有効期限があります。

GASでLark APIにアクセスする
Google Apps Scriptを使ってLark APIにアクセスするには、UrlFetchApp クラスを使用してHTTPリクエストを送信します。以下に基本的なコードの例を示します。


Lark APIへのアクセス方法

Lark APIの認証プロセス
Lark APIを使用するためには、まずAPIへの認証が必要です。これは、安全な方法でAPIを利用するためにアクセストークンを取得し使用するプロセスです。具体的には以下のステップに従います:

  1. Lark Developer Portalにアクセス: Larkの開発者ポータルにログインし、アプリケーションを登録します。

  2. アプリケーション登録: 必要な情報を入力し、アプリケーションを作成。これにより、APIキーとシークレットが生成されます。

  3. アクセストークンの取得: アプリケーションの認証情報(APIキーとシークレット)を使用して、APIアクセストークンを取得します。通常、OAuth 2.0プロトコルが用いられ、トークンは特定の有効期限があります。

GASでLark APIにアクセスする
Google Apps Scriptを使ってLark APIにアクセスするには、UrlFetchApp クラスを使用してHTTPリクエストを送信します。以下に基本的なコードの例を示します。
スクリプトの設定
まず、GASのスクリプトエディタで新しいスクリプトファイルを作成します。


トークンを取得するコード

function getLarkAccessToken() {
  var url = 'https://www.larksuite.com/api/token';
  var payload = {
    "app_id": "your_app_id",    // あなたのアプリID
    "app_secret": "your_app_secret",    // あなたのアプリシークレット
    "grant_type": "client_credentials"
  };

  var options = {
    'method' : 'post',
    'contentType': 'application/json',
    'payload' : JSON.stringify(payload)
  };

  var response = UrlFetchApp.fetch(url, options);
  var json = JSON.parse(response.getContentText());
  var accessToken = json.access_token;
  return accessToken;
}
function fetchCustomerList() {
  var accessToken = getLarkAccessToken();
  var apiUrl = 'https://www.larksuite.com/api/data/customers';  // Lark APIエンドポイント
  var headers = {
    "Authorization": "Bearer " + accessToken,
    "Content-Type": "application/json"
  };

  var options = {
    'method' : 'get',
    'headers' : headers
  };

  var response = UrlFetchApp.fetch(apiUrl, options);
  var data = JSON.parse(response.getContentText());
  return data;  // 顧客データを取得して返す
}


実際のビジネスシナリオでの応用例

シナリオ: 自動的な顧客フォローアップ

ある企業が新規顧客に対して自動的にフォローアップメールを送るシステムを構築したい場合、GASとLarkを使用して以下のように実装できます。

function sendFollowUpEmails() {
  var customers = fetchSpecificCustomerData();  // 新規顧客のデータを抽出
  customers.forEach(function(customer) {
    if (customer.lastContactDate && daysSinceLastContact(customer.lastContactDate) > 30) {
      // 最後の連絡から30日以上経過している場合
      var emailTemplate = createEmailTemplate(customer);
      GmailApp.sendEmail(customer.email, 'フォローアップメール', emailTemplate);
      updateCustomerStatus(customer.id, 'followed_up');
    }
  });
}

function daysSinceLastContact(lastContactDate) {
  var today = new Date();
  var lastContact = new Date(lastContactDate);
  var diffTime = Math.abs(today - lastContact);
  return Math.ceil(diffTime / (1000 * 60 * 60 * 24));
}

function createEmailTemplate(customer) {
  return `親愛なる ${customer.name} 様、\n\n以前のご利用ありがとうございました。何かご不明な点がございましたら、お気軽にお問い合わせください。\n\n敬具,\nあなたのチーム`;
}

まとめ

この記事を通じて、GASとLark APIを組み合わせたアプリケーション開発の基本を理解し、具体的なコード例をもって実際の問題解決に応用する方法を学びました。Lark APIのポテンシャルを活かして、ビジネスプロセスを自動化し、効率的な運営を実現するための一歩を踏み出す良い機会となるでしょう。

この記事が参加している募集

仕事のコツ

with 日本経済新聞

この記事が気に入ったらサポートをしてみませんか?