Parseの例

この例では、SlackユーザーのステータスをユーザーのSlackプロファイルから取得する方法を示します。この情報は、ユーザーがオフィスの外にいるときに保持しておくと便利です。また、ユーザーのステータスをカスタムステータスに設定する場合にも役立ちます。また、JSON解析を実行する方法とJSON文字列から値を取得する方法も示します。

このフローでは、次の3枚のカードを使用します。

  • Slack Read User

  • 任意。Object Construct

  • Slack Custom API Action

  1. Read User(ユーザー読み取り)カードを使用してSlackからUser ID(ユーザーID)を取得します。

  2. 必要に応じて、Object Construct(オブジェクト構築)カードを含めて、users:ID_VALUECustom API Actionカードに渡します。

  3. ユーザーの情報を返すには、Custom API Actionカードを使用します。このカードは、相対URLセクションに追加する必要がある場合があります。[Query(クエリ)]の値は{"users":"ID_VALUE"}形式である必要があります。これは、HTTP URLの末尾に?users=ID_VALUEを置くことと同等です。

  4. フローを実行します。操作が完了すると、JSON本文の出力は次のようになります。

Copy
{
"ok":true,
"users":[
{
"id":"UDS5S7MFV",
"team_id":"T6WPNMPFU",
"name":"jessie.doe",
"deleted":false,
"color":"9b3b45",
"real_name":"Jessie Doe",
"tz":"America/Los_Angeles",
"tz_label":"Pacific Daylight Time",
"tz_offset":-25200,
"profile":{
"title":"Director, Customer Service",
"phone":"",
"skype":"",
"real_name":"Jessie Doe",
"real_name_normalized":"Jessie Doe",
"display_name":"jdoe",
"display_name_normalized":"jdoe",
"fields":null,
"status_text":"OOO",
"status_emoji":":mountain:",
"status_emoji_display_info":[

],
"status_expiration":0,
"avatar_hash":"394fdd4baa40",
"image_original":"https://avatars.slack-edge.com/2018-11-15/480801844498_394fdd4baa4039df7a4c_original.jpg",
"is_custom_image":true,
"email":"jessie.doe@example.com",
"huddle_state":"default_unset",
"first_name":"Jessie",
"last_name":"Doe"
},
"is_admin":false,
"is_owner":false,
"is_primary_owner":false,
"is_restricted":false,
"is_ultra_restricted":false,
"is_bot":false,
"is_app_user":false,
"updated":1653018345,
"is_email_confirmed":true,
"has_2fa":false,
"who_can_share_contact_card":"EVERYONE",
"enterprise_user":{
"id":"UDS5S7MFV",
"enterprise_id":"E017NDYFGQL",
"enterprise_name":"Atko",
"is_admin":false,
"is_owner":false,
"teams":[
"T6WPNMPFU"
]
}
}
]
}

ユーザー情報の抽出

Slack Getカードを使用してJSON本文からユーザーデータを抽出します。

出力タイプはオブジェクトとリストである必要があります。

List Atカードを使用してリストの最初の値(インデックス = 0)を取得します。次に、Object Get関数カードを使用して特定のprofile.status_textを見つけます。

最後に、status_text値が存在し、その値が正しいことを確認します。

関連項目

関数

Workflows要素