見出し画像

【GAS】ロジレスのAPIを使って在庫情報をスプレッドシートに連携する方法 2/2 

本ページでは主にGoogle App Scriptの構造を記載します。


スプレッドシートのGoogle App Scriptとロジレス側でのアプリケーションの登録がまだという方は以下のサイトをご覧いただきそれぞれ、ロジレス側、スプレッドシート側のご準備をお願いします。


Google App Scriptを設定していく

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

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

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

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

Google App 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で設定した)に遷移すれば「認証」成功となります。

ここまでできれば、あとはロジレス側のエンドポイントを指定して情報を指定して取得、取得した情報をスプレッドシートへ記載するスクリプトを記述すれば以下のような内容を抜き出すことが可能となります。

在庫状況の確認


ロジレス側のエンドポイントを指定して情報を指定して取得、取得した情報をスプレッドシートへ記載するスクリプトを1,200円で購入いただけます。

[ご購入時のご注意点]
□前提条件
・在庫情報をスプレッドシートへ転記するコードです。
・100アイテムの「code,name,free, temperature_control」をそれぞれ抜き出して転記する内容の記述となります。
・コードのみの販売であり、コードの解説はしておりません。
・サポート、返金、コメント返信はしません。
・環境やバージョン変更により使用できない可能性があるのでご留意ください。

ここから先は

1,233字

¥ 1,200

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