こんにちは。
株式会社フルーデンスの小巻旭洋です。
タイトルからは少し分かりづらいかもしれませんが、同意画面を 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 #