中級者向け実践:IT企業でのGAS API連携による四半期レポート自動生成(部門利用)

中級者向け実践:IT企業でのGAS API連携による四半期レポート自動生成(部門利用)

本記事では、IT企業における部門利用を想定し、Google Apps Script(GAS)を活用してAPI連携を行い、四半期レポートを自動生成する実践的な方法を解説します。対象レベルは中級者とし、APIの基礎知識、GASの基本操作、JSONデータの扱い、そして具体的なコード例を通して、効率的なレポート作成プロセスを習得することを目指します。

はじめに

IT企業では、四半期ごとに様々なレポートを作成する必要があります。これらのレポート作成は、データの収集、加工、分析、そしてレポートの作成と、非常に手間のかかる作業です。GASとAPI連携を活用することで、これらの作業を大幅に自動化し、業務効率を向上させることができます。

必要なAPIの選定と準備

まず、レポートに必要なデータを取得できるAPIを選定します。例えば、自社の顧客管理システム(CRM)、広告プラットフォーム、会計システムなどが考えられます。各APIのドキュメントを参照し、必要な認証方法(APIキー、OAuth 2.0など)を確認し、設定を完了させてください。

GASプロジェクトの作成と設定

Google Drive上で新しいGASプロジェクトを作成します。次に、スクリプトエディタを開き、プロジェクト名を設定します。API連携を行うためには、URL Fetch APIを使用します。これを使用するために、スクリプトエディタの「リソース」→「Googleの拡張サービス」から「URL Fetch Service」を有効にする必要がある場合があります。(現在はこの設定は不要なことが多いですが、エラーが出る場合は確認してください)

APIからのデータ取得とJSON処理

APIからデータを取得し、JSON形式でレスポンスを受け取る方法を説明します。以下のコードは、APIキーを使ってデータを取得する例です。

function fetchDataFromAPI() {
// APIエンドポイントとAPIキー
const apiUrl = "https://api.example.com/data";
const apiKey = "YOUR_API_KEY";

// APIリクエストオプション
const options = {
"method": "get",
"headers": {
"Authorization": "Bearer " + apiKey
}
};

// APIリクエストを実行
const response = UrlFetchApp.fetch(apiUrl, options);

// JSONレスポンスをパース
const json = JSON.parse(response.getContentText());

// データを返す
return json;
}

このコードでは、UrlFetchApp.fetch()を使ってAPIにリクエストを送信し、response.getContentText()でレスポンスのテキストを取得しています。そして、JSON.parse()を使ってJSON形式のテキストをJavaScriptオブジェクトに変換しています。YOUR_API_KEYは実際のAPIキーに置き換えてください。

取得したデータの加工と分析

APIから取得したデータは、そのままではレポートに利用できない場合があります。必要に応じて、データのフィルタリング、集計、変換などの加工を行います。例えば、売上データを顧客別、地域別、商品別に集計するなどが考えられます。

function processData(data) {
// 顧客別の売上を集計する例
const salesByCustomer = {};

// データループ
data.forEach(item => {
const customerId = item.customerId;
const salesAmount = item.salesAmount;

// 顧客IDが存在しない場合は初期化
if (!salesByCustomer[customerId]) {
salesByCustomer[customerId] = 0;
}

// 売上を加算
salesByCustomer[customerId] += salesAmount;
});

// 結果を返す
return salesByCustomer;
}

このコードでは、APIから取得したデータ(data)をループ処理し、顧客IDごとに売上を集計しています。結果は、顧客IDをキー、売上を値とするオブジェクトとして返されます。

レポートの作成と出力

加工・分析したデータをもとに、レポートを作成します。レポートの形式は、Googleスプレッドシート、Googleドキュメント、PDFなど、目的に合わせて選択します。GASでは、これらのGoogle Workspaceのサービスを操作するためのAPIが提供されています。

function createReport(data) {
// スプレッドシートを作成
const spreadsheet = SpreadsheetApp.create("Quarterly Report");
const sheet = spreadsheet.getActiveSheet();

// ヘッダー行を追加
sheet.appendRow(["Customer ID", "Sales Amount"]);

// データ行を追加
for (const customerId in data) {
const salesAmount = data[customerId];
sheet.appendRow([customerId, salesAmount]);
}

// スプレッドシートのURLを返す
return spreadsheet.getUrl();
}

このコードでは、新しいGoogleスプレッドシートを作成し、ヘッダー行とデータ行を追加しています。SpreadsheetApp.create()でスプレッドシートを作成し、sheet.appendRow()で行を追加しています。最後に、作成したスプレッドシートのURLを返します。

自動化の設定

GASのトリガー機能を使うことで、レポート作成処理を自動化できます。例えば、毎月月初にレポートを作成する、特定のAPIデータが更新された場合にレポートを更新するなどが可能です。トリガーは、GASエディタの「編集」→「現在のプロジェクトのトリガー」から設定できます。

応用例と活用シーン

上記で解説した方法は、様々な応用が可能です。例えば、

  • 複数のAPIからデータを統合してレポートを作成する
  • レポートをPDF形式で自動生成し、メールで関係者に送信する
  • ダッシュボードを作成し、リアルタイムでデータを可視化する

などの活用が考えられます。

まとめ

本記事では、GASとAPI連携を活用して四半期レポートを自動生成する方法を解説しました。GASの基本操作、API連携、JSONデータの扱い、そして具体的なコード例を通して、業務効率を向上させるための知識とスキルを習得できたかと思います。ぜひ、今回の内容を参考に、自社の業務に合わせた自動化を実現してください。