本ページでは、主にGoogle Apps Scriptの構造について説明します。
スプレッドシートのGoogle Apps Scriptやロジレス側でのアプリケーション登録がまだの方は、
以下のサイトをご覧ください。そこで、ロジレス側とスプレッドシート側の準備方法についてご案内します。
スプレッドシート、ロジレスの事前準備の方法はこちらから
準備がお済みの方は、Google apps scirpt側の設定を行っていきます。
目次
Google Apps Scriptを設定
大きく分けてGoogle App Scriptの設定は 2つです。
- Google App Scriptの「スクリプトプロパティ」の設定
- 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)で掲載しておりますので、ご興味のある方は購入いただければと思います。
この記事では、「在庫取得のリクエスト」、「データの取得」、「データをスプレッドシートに転記するためのコード」を提供しています。