quonji
1
キャプチャのように、レコード毎にyoutubeのVideo IDを持っているテーブルがあります。
youtube APIは、Video IDで呼べるので、毎日、決まった時間に、そのテーブル内の全データを対象として、APIを呼び、APIから返ってきたデータでそのテーブルのデータを更新したいと考えていますが、このような制御は可能でしょうか?
おそらくレコード毎の繰り返し処理は、List Shifterを使うと思うのですが、キャプチャのようにAPIの戻りをDBに登録する制御がよくわかりません。
そもそも、そのような事が可能なのか?また、可能ならば、どのように制御するのか、教えて頂きたくお願い致します。
quonji
3
ご返信ありがとうございます
キャプチャの中には記載していたのですが、日次実行には、ProfessionalかProductionが、必要ということですね。ありがとうございます。
検証できていない&やったことないというのであっているかわからない前提で説明します
流れとしては、
- recurring eventを日毎に設定し、workflowAを呼び出す
- workflowA: Schedule API workflow on list を呼び出し、Youtubeテーブルの全リストに対してworkflowBを呼び出す
- workflowB: 引数としてもらったyoutubeレコードを利用し、YoutubeからAPI経由でデータを取得、レコードの更新
という流れになるかと思います。
一応流れのスクショを載せておきます。
理論上はこれで行けると思うのですが、検証してないのでなんとも言えません
是非他の方の回答も見てみたいです!
「いいね!」 3
quonji
5
API connectorでAPIの呼び出しを設定して、返り値をもらうところまでは出来ますが、そのAPIの呼び出しをどうやって、「Schedule API Workflow」の中で設定するのかわかりません。教えて頂けないでしょうか?
APIからの戻り値をつかって、更新するのは、「Make changes to thing」を使うと思っていたのですが、上記で教えて頂いたやり方ですと「Make changes to thing」は使わないということでしょうか?
そもそもAPI connectorで設定できるUser asとして、
「action」
「data」
の2種類があります。
この中で「action」にすると、Workflowから呼び出せます。
呼び出し方としては、WorkflowのPluginに設定したAPI Nameとその中に設定したメソッド名が表示されると思うのでそちらを選択してください。
ここで、上記をWorkflowのStep1に設定したとすると、API Connectorの返り値設定が適切にされていれば、以降のWorkflow中でStep1のレスポンス結果を参照できるので、そちらをMake changes to thingで代入する値として設定することになります。
「いいね!」 3
quonji
8
@TaishoKondo @yukikun
ご返信ありがとうございます。APIの戻り値を登録するところは問題ないのですが、そもそもAPIcallの引数にどうやってDBの項目を登録するのかがわかりません。
実際にValueのところに値を入れると、APIから正しい戻り値が帰ってくるので、APIの呼び方としては問題ないはずです。Valueのところにどうやって、動的にデータを入れるか教えていただけないでしょうか?
その他状況についても為念説明致します。
まずは、「Schedule API workflow on list」をしているところ。
↓この中で、「single api call」というAPI workflowを読んでいる。
「single api call」を定義している画面
※ちなみに一番左の「youtube - get as action」では何も設定できません。
api設定のparametersにある、「private」のチェックを外すとworkflowで変数設定ができるようになります。
privateの設定は、APIの設定としてアプリケーションごとに必要だが動作するときの設定としては編集されたくないものを設定する場合なので、今回の場合はそのparameterに動的な値を入れることになります。
quonji
10
@yukikun
ありがとうございました!できました!
「いいね!」 1