みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
いつも参考にさせていただいております。
Windows環境で、とあるCSVを要求するAPIのスクリプトを作っており、レスポンスの扱いについてのご質問です。
csvという名前のオブジェクトフィールドに「URLから挿入」ステップでcURLを用いて取得したデータが挿入されるようにしています。
このAPIはダウンロードできる状態のCSVがある場合はCSVファイルのみが、何らかのエラーが生じた場合は詳細がJSONで返ってきます。
挿入先がオブジェクトフィールドのためCSVが返ってきた時は良いのですが、エラーが返ってきた際に「export」という拡張子のない中身JSONのオブジェクトとして格納されてしまい、スクリプト上でエラーの中身が取得できず扱いに困っています。
「URLから挿入」を2つ設置し、1回目に返ってきた結果が「export」だったら2回目の挿入先はテキストフィールドにすることも考えたのですが、要求タイミングによって結果が変わってくる場合があるため断念。
やりたいことは、CSVが取得できた場合はそのままcsvオブジェクトフィールドに格納、エラーが返された時は内容をテキストで取得して次に行う動作を振り分けることなのですが、何かやり方がありますでしょうか?
不足している情報があるかもしれませんが、よろしくお願いいたします。
Offline
レスポンスヘッダーにエラー内容があったりしませんか?
レスポンスヘッダーは、cURLオプションに以下を追加で取得できます。
--dump-header $$dump
※$$dumpにレスポンスヘッダーの値が入ります。
Offline
>qb_dp様
ご回答ありがとうございます。
現在検証できる環境にないため、明日さっそく試してみます!
Offline
オブジェクトフィールドの中身がJSONだとしても、中身を取り出すのは
Base64Decode ( Base64Encode ( フィールド ) )
で可能です。
もっと簡単な方法があった気もするけど思い出せない...
TextEncode() TextDecode()は使えなかったかな。
Last edited by Shin (2021-04-09 10:34:22)
Offline
皆様いろいろと解決策のご提示ありがとうございました。
結果としましてはTextDecode()を使うことによってオブジェクトフィールドに格納されてしまったJSONをテキストで扱えるようになりました。
Offline
Pages: 1
[ Generated in 0.006 seconds, 7 queries executed - Memory usage: 551.92 KiB (Peak: 579.67 KiB) ]