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?

BizRobo!でOAuthを設定してみた

Last updated at Posted at 2024-02-21

やりたいこと

BizRobo!でREST Webサービス呼出(Call REST Web Service)ステップを使ってスプレットシートを操作したいとき、追加ヘッダーにアクセストークンを指定する必要があります。
そのアクセストークンを取得する為にはOAathの設定をしなければなりません。
そこで本記事では、Google OAuth 2.0認証のアクセストークン取得をするための設定をやってみます。

背景

今までにAPIを利用したロボットを作成した経験はありますが、前段階としてAPIを使えるための設定をすることは初めてでした。
ただでさえAPIを用いたロボットの作成はとっつきにくいのに、OAuthの設定が必要となると混乱必至です、、、
どうにか利用しない方法はないかと思いましたがスプレッドシートを操作するロボットを作成するには必要なため覚悟を決めて設定に取り組みました。
今後の作業の備忘録として、同じような方への一助として、本記事が役に立つだろうと思い記事を作成しました。

本記事はサードパーティーのツールを利用するため、動作を保証するものではございません。
APIを利用するための参考としてお考え下さい。

事前準備

Google Cloudの認証情報

  • Google Sheets API有効化
  • OAuth 2.0 クライアント ID生成
    ※承認済みのリダイレクトURIにはMCのOAuthのアプリケーションのコールバックURLを指定
    image.png

参考資料
https://zenn.dev/yusuke49/articles/6c147bd6308912

利用バージョン

本記事で利用する各システムの情報は下記になります。

対象システム 利用バージョン
BizRobo! 11.3.0.2
Google Sheets API 2024/02/01時点

MCのOAuth設定

アプリケーション作成

MCにログインしてリポジトリ > OAuth から+をクリックしてOAuthアプリケーション作成画面を立ち上げます。
以下の必要事項が入力出来たらOKボタンを押します。

プロパティ 設定値 補足
プロジェクト test ロボットを配置するプロジェクト選択
名前 googleSpreadSheets 任意の名前
サービスプロバイダ Google
コンシューマーキー *** OAuth 2.0 クライアント ID のクライアントID
コンシューマーシークレット *** OAuth 2.0 クライアント ID のクライアントシークレット
コールバックURL http://localhost:8080/mc/OAuthCallback 初期表示のまま
スコープ https://www.googleapis.com/auth/spreadsheets スプレットシートを利用する場合

image.png

ユーザー追加

作成したアプリケーションの3点リーダーからユーザーの追加をクリックします
image.png

ユーザー名入力

スプレットシートを操作するユーザのメールアドレスを入力して、次へをクリックします

認証

外部リンクのアイコンをクリックします

Googleのログイン画面が表示されるのでログインします

続行をクリックします

続行をクリックします

コールバックURLにリダイレクトされるので「close this window」リンクをクリックします
image.png
MCの画面へ戻り、次へをクリックします

アクセストークンの取得

アクセストークンとトークンを更新の値をコピーします。

終了ボタン押すと二度と見えなくなるので注意してください。

終了ボタンを押してMCの設定は完了です

ロボット作成

ここまででOAuthの設定ができましたので、それを用いたロボットの作成方法について説明します。

ゴール

アクセストークンを取得するまで

手順

以下のステップを用いてロボットを作成します。
image.png
各ステップごとの詳しい設定手順を説明していきます。

①タイプファイル作成

ロボットのステップを設定する前にタイプファイルを用意します。
OAuthCredentialsを選択します

以下を指定して変数を追加します

プロパティ 設定値
serviceProvider Google
accessToken MCでコピーしたアクセストークンの値
refreshToken MCでコピーしたトークンの更新の値
consumerKey OAuth 2.0 クライアント ID のクライアントID
consumerSecret OAuth 2.0 クライアント ID のクライアントシークレット

②REST Webサービス呼出(Call REST Web Service)

1つめのステップを作成します。

ステップを選択します

image.png

値を設定します

プロパティ 設定値
URL https://www.googleapis.com/oauth2/v4/token
リクエスト POST
パラメータで指定

パラメータ

パラメータ名
client_secret oAuthCredentials.consumerSecret 変数
grant_type refresh_token
refresh_token oAuthCredentials.refreshToken 変数
client_id oAuthCredentials.consumerKey 変数

パラメータの下

プロパティ 設定値
エンコード Form-urlencoded
出力値 ブラウザにロード
オプション OAuth
変数 oAuthCredentials
ヘッダー
ヘッダー
Content-Type Content-Type:application/x-www-form-urlencoded ヘッダーのテンプレート

image.png

③JSONで開く

REST APIを実行してアプリケーションを右クリックして、開くをクリックします
image.png
View as JSONステップが自動で追加されます
image.png

④アクセストークン取得

oAuthCredentials.accessTokenを上書きします
image.png
image.png

以上でロボットの作成は完了になります。

NG例

MCのOAuthを使わずに、Google OAuth 2.0認証を行ってみます。
Chroniumから https://accounts.google.com/o/oauth2/auth を開きます。
image.png
ログインユーザーを入力します
image.png
ボタンをクリックします
image.png
ログインできません。
OAuthの設定が必要であることが分かります。

まとめ

今回はMCのOAuthを使ったアクセストークンの取得ロボットを作成しました。
設定方法さえわかっていればさほど難しくはないものの、何も知らない状態からだと大変でした。
MyBizRobo!ユーザーはドキュメントもありますので参考にしてみてください。
分かりやすくまとまっていて非常に助けになります。

またRPAテクノロジーズでは、Google Sheetsを操作するコネクターをリリースしております。
より簡単に設定ができますのでぜひご利用ください。
利用する場合はこちら

APIを利用するとロボットの構築の幅が広がりメンテナンス性も向上できると思います。
APIを利用したロボットの開発のための一助となれば幸いです。

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?