初めてのコネクターを構築する
このガイドでは、Connector SDKとStar Wars API(SWAPI)を使用してカスタムコネクターを構築する方法を説明します。 SWAPIでは、Star Warsのキャラクター、乗り物、その他のリソースに関する情報に無料でアクセスできます。
カスタムコネクターを作成する
新しいカスタムコネクターを作成するには、次の手順を完了します:
Workatoアカウントにサインインします。
ツール > Connector SDKに移動します。
ツール>Connector SDKに移動
コネクターを作成をクリックして、Connector SDKウィザードを開きます。
「コネクターを作成」をクリック
開始点としてWorkatoテンプレートに沿って進めるを選択し、次へをクリックします。
開始点を選択
このコネクターはどのアプリケーション用ですか?フィールドにStar Wars Informationと入力します。
PNGまたはJPGファイルをロゴを追加フィールドにドラッグアンドドロップするか、デバイスからアップロードをクリックします。
カスタムコネクターの名前を入力
エディターへ移動をクリックします。
これらの手順を実行するとConnector SDKが開き、コネクションの詳細を定義してコネクターを設定できます。
コネクションを作成する
APIに接続するには、まず必要な認証方法を特定する必要があります。 SWAPIでは認証が不要なため、本人確認を行わずにSWAPIへリクエストを送信できます。
SWAPIコネクションを作成するには、次の手順を完了します:
ソースコードタブを開きます。
次のコードスニペットをコピーしてコードエディターに貼り付けます:
{
title: 'Star Wars Information',
connection: {
fields: [
{
name: "object",
hint: "Enter the object you plan to use to test your connection.",
}
]
},
test: lambda do |connection|
get("https://swapi.tech/api/#{connection["object"]}")
end,
# More code below but hidden for now!
}このコードスニペットはどのように機能しますか?
このコードスニペットには、次のキーが含まれています:
connection- ユーザーがコネクターに接続するときに表示される入力フィールドを定義します。
fields- 入力フィールドを宣言します。 このキー内で収集されたユーザー入力は、カスタムコネクターコードの他の部分で使用できます。
test- ユーザーが接続をクリックしたときに実行されるテストを宣言します。 このキーにより、Workatoはコネクションが成功したか失敗したかに関するフィードバックを提供できます。
このテストでは何が行われますか?
SWAPIコネクターは指定されたURLエンドポイントにGETリクエストを送信し、リクエストが200ステータスコードを返すとテストが成功します。 testキーは、get()関数を使用してリクエストを実行することで、この機能を定義します。
この例では、入力によってHTTP呼び出しのターゲットURLが決まります。 スニペットはconnectionキー、具体的にはconnection["object"]を通じて入力を参照します。
コネクション名フィールドに名前を入力します。
コネクション設定用の入力フィールドの例
オブジェクトフィールドに、次の有効な入力のいずれかを入力します:
filmspeopleplanetsspeciesstarshipsvehicles
Connectをクリックしてコネクションを確立します。 コネクションが成功すると、次の確認メッセージが表示されます:
成功したコネクション
アクションを作成する
SWAPIでは、人物、惑星、映画など、Star Warsに関する情報を取得できます。 この例では、Star Warsキャラクターに関する情報を取得するGet person by IDという名前のアクションを構築する方法を説明します。 返された情報には、後続のレシピステップでデータピルを使用してアクセスし、利用できます。
Get person by IDアクションを作成
アクションを作成するには、次の手順を完了します。
ソースコードタブの既存のコードを次のスニペットに置き換えます:
{
title: 'Star Wars Information',
connection: {
fields: [
{
name: "object",
hint: "Enter the object you plan to use to test your connection.",
}
]
},
test: lambda do |connection|
get("https://swapi.tech/api/#{connection["object"]}")
end,
actions: {
get_person_by_id: {
input_fields: lambda do
[{
name: 'id',
label: 'Person ID',
type: 'integer',
default: '1',
optional: false
}]
end,
execute: lambda do | connection, input |
get("https://swapi.tech/api/people/#{input["id"]}")
end,
output_fields: lambda do
[{
name: "message",
label: "Message",
type: "string"
},
{
name: "result",
label: "Result",
type: "object",
properties: [{
name: "properties",
label: "Properties",
type: "object",
properties: [{
name: "height",
label: "Height",
type: "string"
},
{
name: "mass",
label: "Mass",
type: "string"
},
{
name: "hair_color",
label: "Hair color",
type: "string"
},
{
name: "skin_color",
label: "Skin color",
type: "string"
},
{
name: "eye_color",
label: "Eye color",
type: "string"
},
{
name: "birth_year",
label: "Birth year",
type: "string"
},
{
name: "gender",
label: "Gender",
type: "string"
},
{
name: "created",
label: "Date created",
type: "date_time"
},
{
name: "edited",
label: "Date edited",
type: "date_time"
},
{
name: "name",
label: "Person name",
type: "string"
},
{
name: "homeworld",
label: "Homeworld",
type: "string"
},
{
name: "url",
label: "URL",
type: "string"
}
]
},
{
name: "description",
label: "Description",
type: "string"
},
{
name: "_id",
type: "string"
},
{
name: "uid",
type: "string"
},
{
name: "__v",
type: "integer"
}
]
}
]
end,
},
}
}このコードスニペットはどのように機能しますか?
このコードスニペットには、次のキーが含まれています:
actions- 新しいアクションを宣言します。 インデントを使用して、コードを読みやすくします。
get_person_by_id- Get person by IDアクションを定義します。 アクション名はこのキーを継承し、アンダースコア(
_)をスペースに置き換えます。 キー名がアクションの目的を正確に反映していることを確認してください。 キー名にスペースを使用しないでください。 input_fields- レシピの構築時にユーザーがアクションを設定するときに表示される入力フィールドを宣言します。 この例には、
idという名前の入力フィールドが1つ含まれています。label変数はユーザーに表示される名前を定義し、typeはデータ型を指定します。optionalをfalseに設定すると、このフィールドは必須になります。
execute- HTTPリクエスト、ターゲットURL、およびレシピに必要な追加のアクションを宣言します。 プレースホルダー
#{input["id"]}は、ユーザーが指定したIDを動的に取得し、それをターゲットURLに追加してキャラクターの情報を取得します。 output_fields- アクションによって返されるデータピルを宣言します。 これらの出力フィールドは、
executeキーで指定されたGETリクエストによって返されるJSONオブジェクトと一致している必要があります。
ネストされた配列またはオブジェクトを定義するにはどうすればよいですか?
配列を定義するには、typeをarrayに設定します。 これにより、Workatoは複数の値のコレクションを想定します。 of属性を使用して、配列の項目のデータ型を指定します。 たとえば、URLを含む配列の場合はofをstringに設定します。
アクションをテストする
アクションをテストするには、次の手順を完了します:
テストコードタブに移動します。
Get person by IDアクションを選択します。
Get person by IDアクションを選択
情報を取得するStar WarsキャラクターのIDをPerson IDフィールドに入力します。 たとえば、Luke Skywalkerに関する情報を取得するには1と入力します。
Person IDフィールドに入力
アクションをテストをクリックします。 最近のテストタブが開きます。
出力タブをクリックして、Get person by IDアクションの出力を表示します。 次のスクリーンショットは、テストが成功した状態を示しています:
出力を表示
テストが成功した場合、レシピの実行中にエラーが発生しなかったことを示します。 ただし、ロジックエラーなど、その他の問題の可能性がないことを保証するものではありません。
カスタムコネクターをレシピで使用する
これで、作成したSWAPIコネクターとアクションを任意のレシピで使用できます。 開始するには、アプリケーションを選択するときにSWAPIコネクターを検索します。
Star Wars Informationコネクターを選択
Last updated: