0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Python×WorkatoでHTTPレスポンスからCookie取得

0
Last updated at Posted at 2025-10-29

はじめに

WorkatoでAPI連携を行う際、レスポンスヘッダーに含まれるSet-Cookieを扱いたい場面が
あります。
一見シンプルに思える処理ですが、実際にやってみると意外と手間がかかることもあります。

今回は、
Workatoの標準HTTPアクション → Connector SDK → Pythonアクション
という3段階の試行を経て、最終的にPythonでスマートに解決した事例を紹介します。


背景:なぜPythonにたどり着いたのか?

① 標準HTTPアクションではCookieが正しく取れなかった

最初はWorkatoの標準HTTPアクションを使って実装を試みました。
ところが、レスポンスヘッダー内のSet-Cookieリスト形式で返されるAPIだったため、
うまくCookieを取得できませんでした。

HTTPアクションではヘッダーを文字列として扱う前提が多く、
["sessionid=xxx", "path=/", ...] のような形式をきれいに処理するには工夫が必要です。


② Connector SDKでの実装には手間がかかる

次に、Connector SDK(Rubyベース) での実装を検討しました。
しかし、Connector SDKの作法を踏まえながら開発する必要があり、
柔軟性は高いものの、「ちょっとレスポンスヘッダーからCookieを取りたいだけ」 の用途には
少しオーバースペックでした。


③ Pythonなら数行で実装できた

最終的に、WorkatoのPythonアクションを使って実装したところ、
簡単に目的を達成できました。

Pythonの標準ライブラリやrequestsモジュールを使えば、
ヘッダー操作や文字列整形が直感的に書けます。


実装概要

Pythonアクションで行った処理はシンプルです。

  1. requestsでAPIリクエストを送信
  2. レスポンスヘッダーからSet-Cookieを取得
  3. 必要なCookie(例:セッションID)だけを抽出・整形して返却

実装例

import requests

response = requests.get(
    "https://example.com/login",
    headers={"User-Agent": "WorkatoBot"}
)

# レスポンスヘッダーからSet-Cookieを取得
cookies = response.headers.get("Set-Cookie")

# 必要なCookieを抽出(例:sessionid)
session_cookie = [c for c in cookies.split(";") if "sessionid=" in c][0]

return {"session_cookie": session_cookie}

Pythonならこの程度の処理が直感的に書けます。
複数のヘッダーが返ってきても、requestsが自動的に扱ってくれるため、
後処理の負担も少なくなります。


Workatoでの活用ポイント

•	Connector SDKにこだわらず、必要な処理だけPythonで補う
•	ヘッダー操作・Cookie整形などの細かい処理に最適
•	開発・デバッグの効率を大幅に改善できる

Workatoは「1つの言語で完結させる」よりも、
“得意な部分を適材適所で使う” ことが強みになります。


まとめ:シンプルにしたいならPythonも選択肢に

今回の事例から得られた学びは次の通りです。

•	標準HTTPアクションでは、ヘッダー形式によっては扱いづらいケースがある
•	Connector SDKは強力だが、小規模処理にはやや重い
•	Pythonアクションを補助的に使うと、開発効率が劇的に上がる

「ちょっとした処理なら、Pythonで完結させる」
という発想は、Workato開発をより柔軟にしてくれるはずです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?