MZ Platformとは › 掲示板 › MZプラットフォームユーザー会掲示板 › 他ツールで公開されているAPIの用い方について
- このトピックは、 8 返信、 2 投稿者 です。最終更新日: 2 年, 1 ヶ月 前 fum
-
著者投稿
-
2018年1月12日 at 1:05 PM #5005fum一般参加者
お世話になります。表題の件につきまして、ご教示下さい。
現在運用しているワークフローが、下記URLの通りAPIを公開しております。
https://sites.google.com/a/sateraito.jp/nextset-dounyuu/Home/wakufuro-ji-neng/api#TOC–7
これを用いて、MZでデータの取得ならびにSQLServerなどへのデータ移行をしたいと
考えております。この場合、どのようなメソッドを使えばよろしいでしょうか。
また、MZでSQLServerにアクセスする場合は、まず「接続」の処理が必要でした。
今回の場合もそのような前提の処理が必要となりますでしょうか。よろしくお願いいたします。
2018年1月12日 at 7:36 PM #5007MZPlatformユーザー会サイト管理者過去にそのような機能を作成してはいるのですが、お使いの環境で動作するかどうかは試してみないとわかりません。コンポーネントとしては「ネットワーク接続」で、メソッドは「getHTMLContentAsTextFromURL(String,String)」になります。第1引数がURL、第2引数がPOSTパラメータ文字列です。お知らせいただいた情報から、こちらで動作テスト用のMZアプリを作成してみました。添付ファイルをダウンロードして展開し、2つのフィールドのテキストを書き換えて、試してみていただけますでしょうか。
テストでは認証APIの実行を想定しておりまして、URLは適切なものに、パラメータのところはapi_keyの値(イコールからアンドまでの間の文字列)とimpersonate_emailのアドレスを適切に置き換えて、送信ボタンを押してください。結果が下のテキストエリアに表示されて、正常な結果(access_token)が得られれば一応動作したことになります。試していただけたら、その結果をお知らせいただけると助かります。
もし上記が動作したとして、取得できるのは生のJSONデータ文字列になるので、現状はそれから個別に文字列格納変数で必要な値を取り出す必要があります。例えば、認証APIでaccess_tokenが得られたらその値を用いて他のAPIを呼び出すことになります。この部分の機能改善は取り組んでいる最中ですので、ご不便をおかけしますがご容赦ください。
添付ファイル:
2018年1月15日 at 5:19 PM #5009fum一般参加者お世話になります。
サンプルファイル、ありがとうございます。
教えて頂いた方法で、取得したaccess_tokenを用いていろいろデータ取得する
ところまで進める事ができました。
(生のデータはおっしゃる通り、加工に骨が折れそうな感じですが・・・)ありがとうございました。
2018年1月15日 at 7:51 PM #5011MZPlatformユーザー会サイト管理者動作したとのことで、ひとまず安心しました。残念ながら、現時点でデータ取得は文字列格納変数の機能を駆使して取り出す必要があります。参考までにその方法を一部サンプルとして作成しましたので、添付ファイルの内容をご確認ください。
すべての場合には対応できていませんが、キーと値のペアが単純なリストとして返ってきた場合にはこのような処理で取り出すことが可能です。JSONデータ文字列からMZ側で利用可能なデータに変換する機能は現在開発中ですので、次回リリースには含まれる見通しです。
添付ファイル:
2018年1月17日 at 3:35 PM #5014fum一般参加者お世話になります。
添付ファイル、拝見させて頂きました。いつもながら大変参考になります。
マップ格納変数は初めて見ましたので、また後日応用時に質問をさせて頂くかもしれません。
ありがとうございました。2018年1月17日 at 8:16 PM #5015MZPlatformユーザー会サイト管理者確かにマップ格納変数について解説しているドキュメントもないので、少し説明を書いておきます。
ここで言う「マップ」とは、Javaにおけるjava.util.Mapであり、「キー」と「値」を対応させたデータ構造です。キーで値を登録しておき、キーで値を取り出して使います。キーが重複した場合は値が上書きされます。また、内部実装はjava.util.HashMapとしています。
https://docs.oracle.com/javase/jp/8/docs/api/java/util/Map.html
https://docs.oracle.com/javase/jp/8/docs/api/java/util/HashMap.htmlキーとして任意のオブジェクトを指定できますが、主に文字列をキーとして値を登録することで、キー文字列で自由に値が取り出せます。データ構造系の変数コンポーネント全般に言えますが、最初に空のマップを作成する必要があり、それさえ守ればあとはいつでも自由に登録と取得が実行できます。
2022年10月7日 at 5:54 PM #6797fum一般参加者お世話になります。
先日(4年前)、公開APIを用いて、運用しているワークフローのデータを
取得する方法を教えて頂きました。この度、手元のExcelなどの中の文字列のデータの内容を、公開APIを
用いて、運用しているワークフロー側に送信する試みを行っていますが、
うまくいきません。(実行時のエラーは添付ファイルです)そこで確認ですが、データの取得ではなく送る場合も、
コンポーネント:ネットワーク接続
メソッド:getHTMLContentAsTextFromURL(String,String)
string0にURL+APIをセット
string1にパラメーターや文字列データをセット
で可能なはずかどうかの理解がなく、ご教示下さい。メソッドの選択に問題があるのか、string1の構文に問題があるのかを
切り分けたい次第です。よろしくお願い致します。添付ファイル:
2022年10月11日 at 9:38 AM #6799MZPlatformユーザー会サイト管理者データを取得する方はいくつか実現例がありますが、データを入力する方は産総研でも実現例がないため、現時点では明確に回答をすることができません。申し訳ございません。
一方、お知らせいただいたエラー内容はサーバ側で問題が生じていることしか表していないので、もしサーバ側でログ等が参照できるようでしたらその内容もご確認いただくとよいかもしれません。
一般的には、データ取得よりデータ入力に対して制限が強いと思いますので、与えるデータの書式に誤りがないか、データ入力には認証が必要かどうかなどお調べいただき、もし可能でしたらMZ以外の方法でデータ入力できることを確認した上でその情報をお知らせいただけると、こちらでも詳細な調査をすることが可能です。
お手数をおかけして恐縮ですが、ご検討いただけると幸いです。
2022年10月13日 at 6:01 PM #6801fum一般参加者お世話になります。
頂いたご返答を参考に、ワークフロー側のサポートとやりとりし、
データ取得時と同じメソッドで、データ入力の成功に至りました。
構文の問題でした。ありがとうございます。
ただ、その構文の一部をエンコードする課題があり、別タイトルで
質問させて頂きます。 -
著者投稿
- このトピックに返信するには、ログインしてください。