0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【一般】HTML Post時にユーザートークンを使用してみる

Last updated at Posted at 2023-03-13

今回は、Sharperlight クエリビルダー において拡張式を使用し、事前に定義されたスケジュールタスクを実行します。
使用する拡張式の関数は「HTML Post Web Page Content with authorization header」です。
image.png
これを使用するには、最初に Authorization Header に使用されるトークンを生成する必要があります。

トークンの生成

Sharperlight サイトセットアップを開始します。管理者権限をもつAdminユーザーでトークンを生成してみます。
image.png
Adminユーザーを選択し、右クリックメニューから, クライアントの秘密/フィードキー -> 作成を選択します。
image.png
クライアントの秘密/フィードキー ダイアログが開き、生成されたトークンが確認できます。
説明および有効期限を設定します。
image.png
クリップボードにコピーボタンを利用して、生成されたトークンをクリップボードにコピーします。
それからOKボタンをクリックし保存します。
コピーしたトークンはしばらくどこかに保存しておきます。

公開レポートの作成

Sharperlight パブリッシャーを起動し、新規ボタンで新しい公開レポートの定義を開始します.

グループ, コードそしてタイトルを記入し、クエリーを編集ボタンでクエリビルダーを起動します。
image.png
このクエリは、スケジュールタスクを実行するためだけのものなので、このように「製品」には システム、「テーブル」には ユーザーアカウント を選択します。
image.png
出力領域で右クリックメニューから拡張表現を追加を選択します。
image.png
拡張表現ダイアログでは検索フィールドにpostと入力し、表示される関数を絞り込みます。
そしてHTML Post Web Page Content with authorization headerを選択します。
image.png
ダブルクリックすることで、テンプレートが拡張式関数の構文フィールドに生成されます。
関数は3つの引数を必要とします。それらはPOST対象のURL, PostするデータそしてAuthorization Headerです.
image.png
今回はこの関数を利用して定義済みのスケジュールタスクを実行させたいので、式はこのようになります。
第三のパラメータとして渡す場合

UrlContentPost( "{_System.Rest.URL}SchedulerTaskPost"
, "&task=QiitaStat.PostedItemsGet&response=json"
"SLCS_34346537333..................2633234375aZ"
)

あるいは、Bodyに設定する場合

UrlContentPost( "{_System.Rest.URL}SchedulerTaskPost"
, "&task=QiitaStat.PostedItemsGet&response=json"
+ "&userToken=SLCS_34346537333..................2633234375aZ"
,""
)

image.png

  1. スケジュールタスクを実行するための対象URL. コントロールタグ{_System.Rest.URL}は、実行時に正しいsharperlightサービスURLに読み替えられます。
  2. 実行したいスケジュールタスクのグループコード、および上記で生成したトークンをここで使用。
  3. 第三のパラメータは空白を設定。

OKで保存します。
作成された拡張表現の名前をTrigger Taskと変更します。
image.png

動作確認

プレビューボタンで動作確認を行います。作成した拡張表現が実行され、指定したスケジュールタスクが実行されるはずです。Sharperlightサービスの起動をお忘れなく。
image.png
実行結果はこのようになりました。
image.png
タスクが正しく実行されたかを確認してみます。
Sharperlight スケジューラを起動して、対象タスクを開きます。
履歴タブを確認します。
image.png
ログに実行履歴が記録されていました。上手く実行されたようです。

クエリのプレビューで動作確認ができたので、クエリを保存し、更に公開レポートも保存します。
image.png

これでこのレポートがブラウザで開かれる度、クエリ内で指定したスケジュールタスクが実行されます。

https://{your domain name}/{your sharperlight service code}/Report/?query=QiitaSample.PostWithTokenJP   

では、失礼します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?