Okta Workflowsチュートリアル:OpenWeather APIのコネクターを構築する

作者について

Max Katz

Staff Developer Advocate, Okta Workflows

Max Katz is a Staff Developer Advocate for Okta Workflows. Max loves the no-code automation space and creating educational content. Before Okta, Max led the North America Developer Advocacy team at IBM. Before IBM, Max led developer advocacy for a cloud-based mobile app platform, Appery, helping it grow from zero to over 400,000 developers. Max regularly writes on his http://maxkatz.net blog. 

17 4月 2024 読了目安時間: ~

このブログはこちらの英語ブログの機械翻訳です。

このチュートリアルでは、Okta Workflows Connector Builder を使用して、OpenWeather API のコネクターを構築する方法を説明します。

  • OpenWeather APIのコネクター
  • コネクタービルダーとは
  • OpenWeather API 用のコネクタを構築する
  • リソース

OpenWeather APIのコネクター

Okta Workflowsで構築したメール通知フローがいくつかあります。ユーザーをアクティブ化する際に、ウェルカムメールに天気情報を含めるようにします。

天気情報にOpenWeatherを使用したいと考えています。現在、WorkflowsにはOpenWeather用の事前構築済みコネクターはありません。

複数のチームメンバーがAPI呼び出しの設定に慣れていません。OpenWeatherの使用を支援するために、Okta Workflows Connector Builderを使用してOpenWeatherのコネクターを構築します。

OpenWeather用の事前構築済みコネクターを使用すると、天気情報をフローやメールに簡単に追加できます。

コネクタービルダーとは

Okta Workflows Connector Builderは、APIコネクターを作成するためのノーコードツールです。コネクターはコネクターリストに表示され、それを使用してID自動化フローを構築できます。

Connector Builderは、Workflowsのフローとカード(アクション、関数)を使用してコネクターを構築します。

Okta Workflows コネクタについてを読んで、Okta WorkflowsでのAPI呼び出しオプションと、どのオプションをいつ使用するかについて学びましょう。

コネクターは、いくつかのフローで構成されています。

  • HTTPリクエストを行うフロー。
  • サービスへの認証が機能していることを確認するフロー。
  • 1つ以上のアクションフロー。各アクションフローは、サービスのAPIエンドポイントを呼び出します。
  • サービス上で任意のAPIエンドポイントを呼び出すためのカスタムアクションフロー。

コネクターには、OAuth認証などの他のフローを含めることができます。このチュートリアルでは、OAuth認証については説明しません。

:コネクタービルダーでコネクターを構築するには、高度な知識が必要です。Okta Workflowsを初めて使用する場合は、まずスタートアップチュートリアルを完了してください。

OpenWeather API 用のコネクタを構築する

コネクターの構築を開始する前に、OpenWeather APIキーが必要です。

OpenWeather APIキーを取得

  1. OpenWeatherアカウントを作成して、APIキーを取得してください。
    • 通常はより高速ですが、API キーのアクティブ化に最大 2 時間かかる場合があります

APIキーを表示および管理するには、APIキータブに移動します。

次のセクションでは、このページのAPIキーを使用します。

コネクタプロジェクトを作成する

  1. Workflowsの右上隅にある4つの正方形をクリックし、Connector Builderを選択します。
  2. [I agree, let me in!]をクリックして、Connector Builderの利用規約に同意します。

workflows apiconnector launch

Connector Builderを起動します。

  1. + New Connectorをクリックして、コネクタープロジェクトを作成します。
    • 以前にコネクタープロジェクトを作成したことがある場合は、左側のパネルの➕をクリックします。
  2. コネクター名OpenWeather と入力します。
  3. The OpenWeather connector provides weather information.と入力してください。Connection descriptionに入力します。
  4. Saveをクリックして、コネクタプロジェクトを保存します。

コネクタのOverviewページが表示されます。

connector newproject

コネクタープロジェクト。

コネクタのアイコンとその他の情報を設定するために、後でこのページに戻ります。

コネクターフローと認証

構築するコネクターには5つのフローがあります:

  • httpHelper:コネクターのすべての認証とHTTPリクエストを管理します。
  • authPing:接続状態を確認します。
  • 現在: 現在の天気APIエンドポイントから現在の天気を取得するアクション。
  • Forecast: 5-day forecast API endpointから5日間の天気予報を取得するアクション。
  • カスタムAPIアクション: OpenWeather APIから任意のAPIエンドポイントを呼び出すアクション。

コネクターには認証もあります。

認証は、APIサービスへの安全な接続を作成するために必要なパラメーターを定義する場所です。

エンドユーザーがサービスへの接続を作成すると、新しい接続ダイアログは特定の認証詳細を収集します。

認証タイプは3つあります。

  • Basic:ユーザー名とパスワードを使用します。
  • OAuth 2.0:サードパーティへのリソースへのアクセスを制限します。コネクタでは、Authorization Code または Client Credential のグラントタイプを使用できます。
  • カスタム:APIキーまたはその他の認証プロセスを使用します。

OpenWeather APIの認証を作成する

OpenWeather APIは、認証のためにリクエストクエリでAPIキーを渡します。コネクタのAPIキーを使用して、カスタム認証を設定します。

  1. [概要]ページで、[認証の設定]をクリックして接続を作成します。
  2. Auth TypeリストからCustomを選択します。
  3. Add Parameterをクリックします。
  4. Label API Key を入力します。
  5. [キー]appidを入力し、[種類]には[テキスト]のままにします。
  6. Saveをクリックして、接続情報を保存します。

connector newauthentication

認証の設定。

パラメーター名(キー)はappidです。これは、OpenWeather APIの呼び出しがその名前を使用しているためです。

https://api.openweathermap.org/data/2.5/weather?q={city name}&units={units}&appid={API key}

 

HTTP リクエストを作成するフローを作成します

httpHelperという名前のフローを作成します。

httpHelperは、コネクターの認証とHTTPリクエストを管理するシステムフローです。httpHelperフローはヘルパーフローです。他のフローから呼び出すことができます。フローには以下が含まれます。

  • 複数の入力。
  • リクエストのクエリ、ヘッダー、および本文情報を構築する機能カード。
  • API を呼び出すための HTTP – Raw Request カード。
  • いくつかの出力。

フローを作成する

  1. Flowsページを開きます。
  2. フローを作成するには、[+ New Flow]をクリックします。
  3. 左上隅のUnnamedをクリックして、フローに名前を付けます。
  4. Flow namehttpHelperと入力します。
  5. このフローは、コネクターのすべての認証およびHTTPリクエストを管理します。と入力します。説明用。
  6. Save all data that passes through the Flow?(フローを通過するすべてのデータを保存しますか?)をオンにしますオプション。
  7. フローを保存するには、Saveをクリックします。

フロー入力を設定する

  1. [Add event]をクリックし、[Helper Flow]を選択します。
  2. Helper Flowカードに次のフィールドを追加します。
    • relative_url(タイプ:テキスト)。
    • request_method(テキスト)。
    • query(オブジェクト)。
    • headers (オブジェクト)。
    • body(オブジェクト)。

httpHelperフローは次のようになります。

connector httphelperinput

httpHelperフロー。

API URLを設定する

このコネクターは、複数のOpenWeatherエンドポイントをサポートします。ベースURLは同じままで、相対URLが変更されます。2つの値を組み合わせて完全なURLにする必要があります。

  1. Helper Flowカードの後にText – Concatenateカードを追加します。
  2. https://api.openweathermap.orgtext 1フィールドに入力します。
  3. relative_urltext 2フィールドに接続します。
  4. カードの出力フィールドの名前を変更します。
    • カードを編集するには、⚙️ > カードを編集をクリックします。
    • outputフィールドの名前を変更するには、その✏️アイコンをクリックし、名前をfull_urlに設定します。

connector httphelperfullurl

サービス URL の設定。

カードをテストするには:

  1. カードの下部にある▶️をクリックします。
  2. /data/2.5/weather」と入力します。text 2の相対URL。
  3. Testをクリックして、完全なURL(https://api.openweathermap.org/data/2.5/weather)を確認します。

API クエリを設定します

前のステップと同様に、ユーザーのクエリ情報とAPIキー情報を組み合わせる必要があります。

  1. Text – Concatenateカードの後にObject – Mergeカードを追加します。
  2. Connect:
    • queryobject 1フィールドに指定します。
    • Connectionからobject 2フィールドへ。
  3. outputフィールドの名前をmerged_queryに変更します。

フローは次のようになります:

connector httphelpermergequery

サービス・クエリの設定。

API呼び出しを行う

OpenWeatherにAPI呼び出しを行うためのステップを追加する準備ができました。

  1. HTTP – Raw RequestカードをMergeカードの後に追加します。
  2. 次の接続を作成します。
    • full_url Raw Requestカードのurlフィールドに入力します。
    • request_methodRaw Requestカードのメソッドに。
    • Helper Flowカードのheadersを、Raw Requestカードのheadersフィールドに接続します。
    • merged_queryqueryフィールドに。
    • body body フィールドに。

フローは次のようになります:

connector httphelperrawrequest

HTTP リクエストの設定。

必要に応じて、HTTP – Raw Requestカードをテストできます。

  1. ▶️をクリックしてカードをテストします。
  2. urlフィールドに、https://api.openweathermap.org/data/2.5/weatherと入力します。
  3. methodフィールドにGETと入力します。
  4. queryフィールドに、次のように入力します(appidの値をOpenWeather APIキーに置き換えます)。
{
    "q": "Rome, IT",
    "units":"metric",
    "appid": "89b03d9e1df4094dda81b5bc2b01ad5a"
}
  1. Testをクリックして、カードをテストします。

最後のステップは、フロー出力を設定することです。

フロー出力を設定します

  1. HTTP – Raw RequestカードのstatusCodeheadersbodyフィールドをFlow Control – Returnカードに接続します。
  2. bodyフィールドのタイプを Objectに変更します。

connector httphelperreturn

httpHelper output。

httpHelperフローをテスト

いくつかの入力を含むフローを作成しました。入力の1つは、OpenWeather APIエンドポイント(relative_url)です。フローはAPIエンドポイントを呼び出し、レスポンス(statusCodeheaders、およびbody)を返します。

フローをテストするのは良い習慣です。

  1. フローをテストするには、Runボタンをクリックします。
  2. テスト接続リストから 新しい接続を選択します。
  3. 名前OpenWeather connectionと入力します。
  4. 説明OpenWeather API connectionと入力します。
  5. API KeyにOpenWeather APIキーを入力します。
  6. 作成をクリックします。

OpenWeather APIへの接続を確立しました。

次に、フロー入力の残りの情報を入力します。

connector httphelpertest

httpHelperフローへの入力。

  1. /data/2.5/weather」と入力します。relative_urlの場合。
  2. request_methodGETと入力します。
  3. queryには、OpenWeather APIキーを入力します:
{
    "q": "Rome,IT",
    "units":"metric"
}
  1. headersフィールドとbodyフィールドは空白のままにします。
  2. Runをクリックして、フローを実行します。

connector httphelpertest2

httpHelper フローのテスト。

必要に応じて、エラーが発生する偽の接続を作成できます。偽の接続は、認証が失敗した場合にコネクターがどのように動作するかを確認するのに役立ちます。

openweather connector fake

偽の接続。

httpHelperフローを構築およびテストしました。他のコネクターフローは、httpHelperフローを呼び出します。

次のセクションでは、別のシステム フローの作成方法について説明します。このフローは、サービスへの認証が機能しているかどうかを確認します。

有効な接続を確認するフローを作成する

_authPingという名前のフローを作成します。_authPingフローは、プラットフォームがAPIを呼び出して有効な認証を確認するために使用するシステムフローです。

このアクションは、コネクターを最初に認証するとき、新しいコネクターを追加するとき、またはフローを開くときに、検証チェックとして機能し、実行されます。

フローを作成する

  1. コネクタープロジェクトビューに戻ります。
  2. フローページから + 新しいフローをクリックします。
  3. イベントの追加(Add event)をクリックし、Authpingイベントを選択します。
  4. フローを保存するには、左上隅の 名称未設定をクリックします。
  5. [Name]_authpingと入力します。
  6. Connection health check.と入力します。説明のために。
  7. Save all data that passes through the Flow?(フローを通過するすべてのデータを保存しますか?)をオンにしますオプション。
  8. [保存]をクリックします。

connector authping

新しいauthpingフロー。

接続ヘルスチェックカードを追加します

  1. 関数の追加をクリックし、 エラー処理 – エラーの場合カードを選択します。
  2. Tryブロック(自動的に選択されています)で、➕をクリックし、次にfunction(計算機アイコン)をクリックして、Flow Control – Call Flowカードを選択します。
  3. Call Flowカードで、Choose Flowをクリックします。
  4. httpHelperフローを選択し、Choose(選択)をクリックします。

フローは次のようになります:

connector authpingcallflow

Call Flowカードを使用したauthpingフロー。

このフローは、httpHelperフローを呼び出して、サービスへの接続が機能しているかを確認します。認証を必要とするAPIエンドポイントを使用する必要があります。

:Okta Workflowsチームは、応答サイズが最小のリクエストを推奨しています。たとえば、一部のAPIには、ログインしているユーザーに関する情報を取得するための/meエンドポイントがあります。

OpenWeatherは/meエンドポイントを提供していません。通常の要求を使用して、接続のヘルスチェックを行います。

Call Flowカードの設定を完了します:

  1. /data/2.5/weather」と入力します。relative_urlの場合。
  2. request_methodGETと入力します。
  3. queryに、次のように入力します。
{
  "q": "Rome,IT"
}
  1. headersフィールドとbodyフィールドは空白のままにします。これは単なる ping リクエストであるため、クエリにunitsは必要ありません。
  2. 最初のカードのConnectionフィールドをCall FlowカードのConnectionフィールドに接続します。

フローは次のようになります:

connector authpingcallflow2

Call Flowカードが設定されたauthpingフロー。

Call Flow(コールフロー)カードに出力を作成するには:

  1. クリックまたはドラッグして作成エリア内をクリックし、次の出力フィールドを作成します:
    • statusCode(数値型)。
    • headers (オブジェクト)。
    • body(オブジェクト)。

コネクター authpingcallflowoutputs

出力付きの呼び出しフロー。

次に、接続が機能している場合のメッセージと、接続が機能していない場合のメッセージを設定します。

動作する接続のメッセージを設定するには:

  1. If Errorカード内のCall Flowカードの後の➕をクリックし、Flow Control – Assignカードを選択します。
  2. messageフィールドを追加し、Control – AssignカードでThe connection is successful値に設定します。

If Errorカードの出力を作成します:

  1. If Errorカード(右上隅)でView Outputsをクリックします。カードは、カードの出力を定義するセクションを開きます。
  2. フィールドボックス内をクリックして、2つの出力を生成します。
    • statusCode
    • message
  3. 次の接続を作成します。
    • Call FlowカードのstatusCodestatusCodeの最初のサブフィールドに接続します。
    • Assignカードからmessagemessageの最初のサブフィールドに接続します。

カードは次のようになります。

connector authpingcallflowmessageokey

接続が機能しているときにメッセージを設定します。

接続が機能していない場合にメッセージを設定するには:

  1. Tryと表示されているリストを使用して、If ErrorカードのIf Errorブロックに切り替えます。
  2. Errorオブジェクトに2つのフィールドを追加します:
    • statusCode (Text 型)。
    • description (テキスト)。
  3. [エラーの場合]ブロック内の[エラー]オブジェクトの右側にある➕をクリックし、[テキスト - 連結]カードを追加します。
  4. 次の接続を作成します。
    • Error オブジェクトの descriptiontext 1 フィールドに追加します。
    • text 2フィールドに: (コロン) を入力します。
    • クリックして3番目のフィールドを作成し、Errorからmessageを接続します。

次に、メッセージをIf Errorカードの出力に接続します。

  1. If ErrorカードでView Outputsをクリックします。
  2. 次の接続を作成します。
    • statusCodeErrorからstatusCodeの2番目のサブフィールドへ。
    • Concatenateからmessageの 2 番目のサブフィールドにoutputを接続します。

カードは次のようになります。

connector authpingcallflowmessagenotokey

接続が機能していない場合のメッセージを設定します。

フロー出力を設定します

Flow Control – Return Statusカードには、workingserviceResponseの2つのフィールドがあります。このフローで利用可能な情報を使用して、これらのフィールドを設定します。

  1. If Errorカードの後の➕をクリックして、True/False – Compareカードを追加します。
  2. If Errorカード出力から statusCodevalue aフィールドに接続します。
  3. value bフィールドに 200と入力します。
  4. result出力フィールドの名前を workingに変更します。

connector authpingcallflowcompare

接続ステータスコードの設定。

APIの呼び出しが成功した場合(200)、接続が機能していることがわかります。

  1. [True/False - 比較]カードの後に➕をクリックし、[オブジェクト - 構築]カードを追加します。
  2. Constructカードに2つのフィールドを作成します。
    • statusCode (Text 型)。
    • body (テキスト)。
  3. 次の接続を作成します。
    • statusCodeIf Errorカード出力からConstructカードのstatusCodeフィールドへ。
    • If Error カードの出力の messageConstruct カードの body フィールドに追加します。
  4. Constructカードのoutputフィールドの名前をserviceResponseに変更します。

connector authpingcallflowconstruct

接続ステータス応答の設定。

フロー出力を設定するには:

  1. CompareカードからのworkingReturn Statusカードのworkingフィールドに接続します。
  2. ConstructカードのserviceResponseReturn StatusカードのserviceResponseフィールドに接続します。

完全なフロー:

connector authpingcallflowcomplete

完全なauthpingフロー。

フローをテスト

  1. フローを保存します。
  2. Runをクリックします。
  3. 作業中の接続を選択し、[実行]をクリックします。

connector authpingcallflowcompletetest

authpingフローのテスト。

作成した非稼働の接続を選択し、フローを再実行します。

このセクションでは、_authpingという名前の2番目のシステムフローを作成しました。最初のシステムフローはhttpHelperです。

次のセクションでは、システムフローを使用してAPI呼び出しを実行するアクションフローを作成します。

現在の天気のアクションを作成します。

このセクションでは、OpenWeatherの現在の天気エンドポイントのコネクタアクションを作成します。

フローを作成する

  1. コネクターのプロジェクトビューに戻ります。
  2. + New Flowをクリックして、新しいフローを作成します。
  3. 左上隅の名称未設定をクリックして、フローに名前を付けます。
  4. Flow nameCurrentと入力します。
  5. このアクションは、都市の現在の天気データを返します。 と入力します。説明を入力します。
  6. Save all data that passes through the Flow?(フローを通過するすべてのデータを保存しますか?)をオンにしますオプション
  7. Saveをクリックして、フローを保存します。

フローをアクションとして構成する

アクションフローは、サービスAPI呼び出しを行います。

このフローをアクションフローとして設定するには:

  1. Add event(イベントを追加)をクリックし、次にAction(アクション)イベントタイプをクリックします。

フローは次のようになります:

connector actionweathernew

新しいアクションフロー。

アクション入力を設定する

アクション入力は、基盤となるサービスへのAPI呼び出しを行うために必要な入力です。

このアクションでは、都市名と国でOpenWeatherのAPIリクエストを使用します。これは、コネクターに都市、国、および単位の3つの入力が必要であることを意味します。

入力を設定するには:

  1. Connector ActionカードのAdd Inputsをクリックします。
  2. Add groupリストを開き、Add Static Groupを選択します。
  3. 都市の入力を作成します:
    • ラベル:都市。
    • Field Type:テキストフィールド。
    • データ型: テキスト。
    • Required:はい。
  4. 国の入力を追加します。
    • ラベル: 国。
    • Field Type:テキストフィールド。
    • データ型: テキスト。
    • Required:いいえ。
  5. ユニットの入力を追加します:
    • Label:Units。
    • Field Type:Dropdown。
    • データ型: テキスト。
    • Required:いいえ。
    • ユニットの3つのオプションを追加します。
      • Option:Celcius、Value:metric。
      • Option:Fahrenheit、Value:imperial。
      • Option:ケルビン、Value:標準。

右側にカードのプレビューが表示されます。

設定は次のようになります。

connector actionweatherinputssetup 1

アクションインプットの設定

  1. Applyをクリックして入力を保存します。

以下にフローを示します。

connector actionweatherinputs

入力付きアクションフロー。

API呼び出しの入力をフォーマットする

OpenWeather APIに必要な形式で入力をフォーマットする必要があります。API呼び出しは次のようになります:

https://api.openweathermap.org/data/2.5/weather?q={city name},{country code},units={units}&appid={API key}

入力は次のようにフォーマットする必要があります。

q={city name},{country code}&units={units}

以下に例を示します。

q=Rome,IT&units=metric

このクエリを作成するには、いくつかのカードを使用します。

まず、qパラメーターのクエリを設定します:

  1. Connector Actionカードの後にText – Concatenateカードを追加します。
  2. 次の接続を作成します。
    • CityConcatenateカードのtext 1へ。
    • [連結]カードの[テキスト2]フィールドに,(カンマ)を入力します。
    • CountryConcatenateカードの3番目のフィールドに入力します。
  3. Object – ConstructカードをConcatenateカードの後に追加します。
  4. filed を作成し、filed qに名前を付けます。
  5. Concatenateカードからのoutputを、qフィールドに接続します。
  6. output フィールドの名前を query1 に変更します。

connector actionweatherquery1

qパラメーターのクエリを設定します。

次に、unitsパラメーターのクエリを設定します:

  1. Object – Constructカードを追加します。
  2. フィールドを作成し、unitsという名前を付けます。
  3. 最初のカードのUnitsConstructカードのunitsに接続します。
  4. Constructカード出力の名前を query2に変更します。

次に、2つのクエリをマージします。

  1. Object – Merge(オブジェクト – マージ)カードを追加します。
  2. query1object 1フィールドに接続し、query2object 2フィールドに接続します。
  3. カードの出力をfull_queryに名前変更します。

以下にフローを示します。

connector actionweatherquery2

q パラメーターと units パラメーターのクエリを設定します。

OpenWeather APIを呼び出す

このステップでは、OpenWeather APIを呼び出します。

  1. Flow Control – Call Flowカードを追加します。
  2. [フローの選択]をクリックし、httpHelperフローを選択して[選択]をクリックします。
  3. /data/2.5/weatherと入力しますrelative_urlフィールドの場合。
  4. request_methodGETと入力します。
  5. Call Flowカードのqueryフィールドにfull_queryを接続します。
  6. 最初のカードのConnectionフィールドをCall FlowカードのConnectionフィールドに接続します。
  7. Call Flowカードの 3 つの出力を生成します:
    • statusCodeNumber型)
    • headers(タイプObject)。
    • body(タイプはObject)。

connector actionweathercallflow

「Call Flow」カード

フロー出力を作成する

Flow Control – Return Outputsカードに次の出力を生成します:

  1. 出力の追加をクリックします。
  2. Add groupを開き、Add Static Groupを選択します。
  3. 3つのアウトプットを作成してください。
    • [Status Code](数値型)。
    • Headers(オブジェクト)。
      • 空のキーエントリを削除します。
    • Body(オブジェクト)。
      • 空のキーエントリを削除します。
  4. Applyをクリックして出力を保存します。
  5. Call FlowカードからReturn Outputsカードにデータを接続します。
    • statusCodeStatus Codeフィールドに。
    • headersHeaders フィールドに追加します。
    • bodyBodyフィールドに。

フローの終わりは次のようになります。

connector actionweatheroutputs

出力を含む現在のアクションフロー。

フローをテスト

  1. フローを保存し、実行をクリックして、フローをテストします。
  2. 都市と国を入力し、 実行をクリックします。

コネクターアクションをデプロイして試す準備ができました。

コネクターをデプロイする

フローをオンにする

フローは、デプロイする前にオンにする必要があります。

  1. Flowsページに戻ります。
  2. 3つのフローをオンにします。

コネクタ設定を更新する

このセクションでは、追加の情報を設定に入力します。

  1. メインプロジェクトビューに戻ります。
  2. 概要(Overview)]ページを開きます。
  3. 設定セクションで 編集をクリックします。
  4. コネクター名をWeatherに更新します。
  5. コネクタに使用する天気アイコンを見つけてアップロードします。
  6. 必要に応じてAccent Colorを変更します。
  7. User Documentation URLSupport Contact Emailの情報を入力します。
  8. Save(保存)をクリックして、すべての変更を保存します。

connector overviewupdate

コネクター設定。

コネクターをデプロイする

コネクターをデプロイするには:

  1. Deploymentタブに切り替えます。
  2. Create test versionをクリックします。
  3. 作成したテストバージョンの[Actions]の下にある3つの縦の点を選択し、[Deploy Version]を選択します。

コネクタは約20〜30秒後にプライベートデプロイメントセクションにデプロイされます。

connector deployment1

コネクタのデプロイ。

フローでコネクターを使用する準備ができました。

フローでのコネクターの使用

このステップでは、フローのコネクターアクションを設定します。

コネクター addweatherconnector

Weatherコネクターを追加します。

カードを追加します

  1. Workflowsで新しいフローを作成します。
  2. Add app actionをクリックし、Weatherコネクタを選択します。検索することもできます。
  3. [Current]アクションを選択します。

接続を作成します

今回が初めてコネクターを使用する場合、APIへの接続を作成する必要があります。

  1. + 新しい接続をクリックします。
  2. コネクタ名を保持します。
  3. Description(説明)フィールドに、OpenWeather connectionと入力します。
  4. API Keyフィールドに、OpenWeather APIキーを入力してください。APIキーは、APIキーのページにあります。
  5. 接続を作成するには、[**Create**(作成)]をクリックします。

テスト

connector usingweatherconnector1

天気 - 現在のカード。

  1. Weather – CurrentカードでCityCountryを入力し、Unitsを選択します。
  2. フローをテストするには、[Run]をクリックします。カードをテストすることもできます。

connector usingweatherconnector1test

Weather – Currentカードを使用したフローのテスト。

おめでとうございます!1つのアクションでコネクターを構築し、フローで使用しました。次の2つのセクションでは、コネクターにさらに2つのアクションを追加します。

5日間の天気予報のアクションを作成します

このセクションでは、5 日間の天気予報の接続アクションを作成します。既存のCurrentアクションを複製し、新しいフローに小さな更新を加えます。

フローを複製します

  1. コネクタープロジェクトビューの[Flows]ページに移動します。
  2. Currentアクションを複製します。
    • リストビューで、⚙️ > 複製をクリックします。
    • カードビューで、カードの右下隅にあるDuplicateをクリックします。
  3. 新しいフローを開き、Forecastに名前を変更します。
  4. このアクションは、ある都市の5日間の天気予報を返します。「説明」の
  5. [保存]をクリックします。

APIエンドポイントを更新する

  1. **Flow Control Call Flow**カードで、**relative_URL**フィールドを**\/data\/2.5\/weather**から**\/data\/2.5\/forecast**に更新します。
  2. フローを保存します。

フローをテスト

必要に応じてフローをテストします。

カスタム API アクションのアクションを作成します

このセクションでは、カスタムAPIアクションのアクションを作成します。

カスタムAPIアクションを使用すると、事前構築済みのアクションが利用できない場合でも、サービス上の任意のエンドポイントを呼び出すことができます。カスタムAPIアクションを使用すると、APIエンドポイント、リクエストメソッド(GET、POSTなど)、およびリクエストパラメーター(クエリ、ヘッダー、およびbody)を指定できます。

Okta Workflows コネクターについての記事に、カスタム API アクションに関する情報が記載されています。

フローを作成する

フロータブから:

  1. + New Flowをクリックして、新しいフローを作成します。
  2. 左上隅の名称未設定をクリックして、フローに名前を付けます。
  3. Flow nameCustom API Actionを入力します。
  4. OpenWeather APIへの認証されたHTTPリクエストを作成します。[Description]に入力します。
  5. Save all data that passes through the Flow?(フローを通過するすべてのデータを保存しますか?)をオンにしますオプション
  6. Saveをクリックして、フローを保存します。

アクション入力を設定する

  1. Add eventをクリックし、Actionイベントを選択します。

カスタムAPIアクションは、基盤となるAPIがサポートするリクエストタイプをサポートする必要があります。

  1. OPTIONSセクションでAdd Optionsをクリックします。
  2. Add field(フィールドを追加)」をクリックします。
  3. LabelフィールドにRequest Typeを入力します。
  4. Field Type(フィールドタイプ)Dropdown(ドロップダウン)に変更します。

リクエストタイプに値を入力してください:

  1. 最初行のOptionGETValueGETを入力します。
  2. 残りのリクエストタイプを入力します:
    • 投稿
    • PUT
    • パッチ
    • 削除
  3. デフォルトオプションとして GETをオンにします。
  4. 適用をクリックして、リクエストタイプリストを保存します。

注: OpenWeather API は GET リクエスト タイプを使用します。構築する他のコネクターは、より多くのリクエスト タイプをサポートする可能性があります。

connector capiarequesttype

リクエストタイプリストの設定。

このアクションには、相対URL、ヘッダー、クエリ、および本文フィールドなど、他の入力が必要です。

  1. INPUTSセクションでAdd Inputsをクリックします。
  2. Add group > Add static groupをクリックします。
  3. 次のフィールドを追加します:
    • Relative URL(テキスト型、必須フィールド)。
    • Query (オブジェクト)。
    • Headers(オブジェクト)。
    • BodyObject)。

入力は次のようになります:

コネクターCAPI入力

カスタムAPIアクション入力。

  1. Applyをクリックして変更を保存します。

フローは次のようになります:

connector capiaflow1

入力に対応したカスタムAPIアクション

フローにはすべての入力があります。次のセクションでは、APIエンドポイントを呼び出します。

カスタムAPIエンドポイントを呼び出す

  1. Add functionをクリックします。
  2. Call Flow関数を追加します。
  3. [Choose Flow]をクリックし、httpHelperフローを選択します。
  4. [**Choose(選択)**]をクリックします。
  5. 下のスクリーンショットのCall Flowカードへの接続を作成します:

connector capiacallflowconnections

Call Flow カードへのデータの受け渡し。

Call Flowカードの出力セクションまでスクロールします。

  1. 次の3つの出力フィールドを作成します。
    • statusCode(数値型)。
    • headers (オブジェクト)。
    • body(オブジェクト)。

アクション出力をを作成します

  1. Return OutputsカードのAdd Outputsをクリックします。
  2. Add group > Add static groupをクリックします。
  3. 3つの出力フィールドを追加します。
    • [Status Code](数値型)。
    • Headers(オブジェクト)。
      • 空のキーエントリを削除します。
    • Body(オブジェクト)。
      • 空のキーエントリを削除します。
  4. [Apply]をクリックします。
  5. 以下のスクリーンショットのReturn Outputsカードへの接続を作成します:

connector capiaoutputconnections

フロー出力の設定。

フローをテスト

コネクターには、Geocoding APIのアクションがありません。Geocodingエンドポイントを使用して、カスタムAPIアクションをテストできます。

フローをテストするには:

  1. Runをクリックしてフローをテストします。
  2. Request TypeGETを入力します。
  3. /geo/1.0/directと入力しますRelative URLフィールドに。
  4. query フィールドに{"q": "Rome,IT"} と入力します。
  5. Runをクリックしてフローをテストします。

ForecastCustom API Actionをコネクターに追加しました。変更をデプロイする必要があります。

コネクターをデプロイする

フローをオンにする

  1. Flow(フロー)ページに戻り、すべてのフローをオンにします。

導入

  1. Deploymentタブに戻ります。
  2. 新しいコネクターバージョンを作成するには、[テストバージョンの作成 (Create test version)]をクリックします。
  3. 3つの縦のドット > Deploy Versionをクリックします。

connector capiadeployment

コネクタのデプロイ。

フローで新しいコネクターアクションを使用する

  1. Workflowsに戻り、以前に使用したフローを開きます。
  2. Weather – ForecastカードとWeather – Custom API Actionカードを追加します。
  3. フローをテストします。

connector test3cards

コネクタアクションのテスト。

よくできました

おめでとうございます!

Okta Workflows Connector Builder で OpenWeather API 用の 3 つのアクションを備えたコネクターを構築しました。

リソース

📚 Okta Workflowsでカスタムコネクターを構築する、ビデオシリーズ

📖 Okta Workflows Connector Builderのドキュメント

🍫 毎週のコミュニティオフィスアワー中にWorkflowsスペシャリストから支援を受けてください。

📺 Workflowsビデオから学びましょう。

🛟 サポートからのヘルプ: Workflowsトピックについて話し合うか、質問をする。

🙋🏻‍♀️ コミュニティからサポートを得る:MacAdmins Slackの#okta-workflows channelに参加してください。

作者について

Max Katz

Staff Developer Advocate, Okta Workflows

Max Katz is a Staff Developer Advocate for Okta Workflows. Max loves the no-code automation space and creating educational content. Before Okta, Max led the North America Developer Advocacy team at IBM. Before IBM, Max led developer advocacy for a cloud-based mobile app platform, Appery, helping it grow from zero to over 400,000 developers. Max regularly writes on his http://maxkatz.net blog. 

アイデンティティ施策を推進