こんにちは。
株式会社フルーデンスの小巻旭洋です。
タイトルからは少し分かりづらいかもしれませんが、同意画面を fmOAuth ではなく、任意のアプリに置き換えることができるように実装しています。
ということで、自分のGoogleアカウントでコンソールにログインし、アプリを作成してもらい、引数を渡していただければ利用できます。
自分のアプリを作成する方法は、別で記事を書きます。
fmOAuthの同意画面
デフォルトでは、以下のような同意画面です。
任意のアプリの同意画面
コンソールでアプリを作成し、アプリの情報をスクリプト引数で渡すと、以下のような同意画面になります。
スクリプト(画像)
スクリプト(コード)
#
# ──────────────────── Parameter
#
# case fmOAuth
#
If [ True // fmOAuth ]
テキストを挿入 [ 選択 ; $scopeList ; 「https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/drive https://mail.google.com/」 ]
変数を設定 [ $param ; 値: JSONSetElement ( "{}" ; [ "scopeList" ; $scopeList ; JSONString ] ) ]
End If
#
# case Your Google App
#
If [ False // Set CustomFunction from Your Google App Information ]
変数を設定 [ $appId ; 値: z_yourGoogleAppId ]
変数を設定 [ $secret ; 値: z_yourGoogleAppSecret ]
変数を設定 [ $redirect ; 値: z_yourGoogleAppRedirect ]
テキストを挿入 [ 選択 ; $scopeList ; 「https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/drive https://mail.google.com/」 ]
変数を設定 [ $param ; 値: JSONSetElement ( "{}" ; [ "appId" ; $appId ; JSONString ] ; [ "secret" ; $secret ; JSONString ] ; [ "redirect" ; $redirect ; JSONString ] ; [ "scopeList" ; $scopeList ; JSONString ] ) ]
End If
#
# ──────────────────── Perform Script
#
スクリプト実行 [ 「0307.Get Refresh Token Google ( appId ; secret ; redirect ; scopeList )」 , ファイル: 「fmoauth」 ; 引数: $param ]
#
# ──────────────────── Response Data
#
If [ IsEmpty ( FilterValues ( JSONListKeys ( Get ( スクリプトの結果 ) ; "" ) ; "refresh_token" ) ) ]
# error
フィールド設定 [ USER::googleRefreshToken ; Get ( スクリプトの結果 ) ]
Else
# ok
フィールド設定 [ USER::googleRefreshToken ; JSONGetElement ( Get ( スクリプトの結果 ) ; "refresh_token" ) ]
End If
#