【すぐに利用開始可能】GASでロジレスからスプレッドシートへ在庫データを自動連携する方法 2/2

在庫管理-自動化/効率化

本ページでは、主にGoogle Apps Scriptの構造について説明します。
スプレッドシートのGoogle Apps Scriptやロジレス側でのアプリケーション登録がまだの方は、
以下のサイトをご覧ください。そこで、ロジレス側とスプレッドシート側の準備方法についてご案内します。
スプレッドシート、ロジレスの事前準備の方法はこちらから
準備がお済みの方は、Google apps scirpt側の設定を行っていきます。

Google Apps Scriptを設定

大きく分けてGoogle App Scriptの設定は 2つです。

  1. Google App Scriptの「スクリプトプロパティ」の設定
  2. Google App Scriptの「エディタ」の設定

Google App Scriptの「スクリプトプロパティ」の設定

Google Apps Scriptのスクリプトプロパティとは何か?

これは、スクリプト内で使用されるキーと値のペアを保存する機能です。
一般的な値を根幹部分で設定することができます。

以下のように、「authCallback」、「ClientId」、「ClientSecret」の各値をロジレスから取得し、設定してください。

抽出元:

設定先:

Google App Scriptの「エディタ」の設定

指定した名前でサービスを作成する

/**指定した名前でサービスを作成する*/
function zaiko() {
  const serviceName = 'zaiko';
  const authorizationBaseUrl = 'https://app2.logiless.com/oauth/v2/auth';
  const tokenUrl = 'https://app2.logiless.com/oauth2/token';
  const properties = PropertiesService.getScriptProperties();
  const clientId = properties.getProperty('ClientId');
  const clientSecret = properties.getProperty('ClientSecret');  
  return OAuth2.createService(serviceName) 
      .setAuthorizationBaseUrl(authorizationBaseUrl)
      .setTokenUrl(tokenUrl)
      .setClientId(clientId)
      .setClientSecret(clientSecret)  
      .setCallbackFunction('authCallback')
      .setPropertyStore(PropertiesService.getUserProperties()
      )
}

詳細の仕様についてはこちら(ロジレスの認証・認可ページ)からご確認いただけます。

認証を行いアクセストークンをログ出力する

/**認証を行いアクセストークンをログ出力する*/
function authorize() {
  const service = zaiko();
  const authorizationUrl = service.getAuthorizationUrl();
  console.log(authorizationUrl);
  }

OAuth認証の処理終了時に呼び出される関数、認証の成否をWebページとして表示する設定

/**OAuth認証の処理終了時に呼び出される関数、認証の成否をWebページとして表示する*/
function authCallback(request) {
  const service = zaiko();
  const isAuthorized = service.handleCallback(request);
  if (isAuthorized) {
    return HtmlService.createHtmlOutput('成功!タブを閉じてください.');
  } else {
    return HtmlService.createHtmlOutput('失敗!タブを閉じてください');
  }
}

これらを設定し、スクリプトを実行すると「authorizationUrl」が発行されます。

上記URLをブラウザに貼り付けると…ロジレスのログイン画面に遷移します。

承認をクリックすると以下の画面(上記Google App Scriptで設定した)に遷移すれば「認証」成功となります。

ここまで進めれば、次はAPIで取得した情報をスプレッドシートに転記するためのコードを記述する段階となります。
詳細については有料記事(Note)で掲載しておりますので、ご興味のある方は購入いただければと思います。
この記事では、「在庫取得のリクエスト」、「データの取得」、「データをスプレッドシートに転記するためのコード」を提供しています。