CData Connect CloudとYoomを連携して元気玉の元となる情報を集めてみた

この記事は [CData Software Advent Calendar 2022](https://qiita.com/advent-calendar/2022/cdatasoftware) 14日目の記事になります！

# はじめに

もともとはCData Connect Cloudを使って様々なSaaSサービス（Twitter、Facebook、Instagram等）からフォロワーや自分に関わるつぶやきを取得してゴニョっとしてkintoneに格納！ってのを作ろうと思っていたのですが、自分が担当の12/14の前日にまさかの

> **SaaS連携データベース「Yoom」がCData Connect Cloud とAPI連携を開始**

というプレスリリースが公開され、これはやるしかない！ってことで急遽変更しましたw
（もともと考えていたやつはまた別の機会に記事化します！）

https://prtimes.jp/main/html/rd/p/000000016.000104415.html

ということで、公開ホヤホヤのYoom連携を使って、
**元気玉の元となる情報（≒ Twitterフォロワー情報）** をかき集めたいと思います。

# つくったもの

元気玉の名残りでデータソースをTwitterにして、 **「自身のTwitterアカウントのフォロワーをkintoneに保存する」** って処理をノーコードで実現してみたいと思います。

ただシンプル登録だけだとちょっとエンジニア感がないので、**IDを見て、すでに登録があったら更新、なければ追加** というUPSERT的なフローを作ってみました。

# 所要時間

CData側：5分
Yoom側：60分

あれ？配分的にYoomの記事になっちゃうのでは・・・と思いつつも、CData Connect Cloudの何も悩まないで設定できる構成には感服です。
（Yoomに時間がかかったのは、自分がちゃんと触るのは初めてだったから、というのもまた事実）

# CData Connect Cloudの設定

1. Connect Cloudにログイン
1. ConnectionsからTwitterを選択
1. Twitterにログイン（← これでTwitterの認証成功）
1. ODataでテーブルを作成
    1. TwitterのFollowersを利用
1. SettingsからConnect Cloudの認証情報を取得（あとでYoomで利用）

こんな流れです。
Connect Cloudは1回触ったことがあるのもあって、流れさえ知っていれば特に何も困らなかった！
（2,3にあたるSaaS連携の快適さがやばい。いろいろなSaaSとコネクション張りたくなるw）

![スクリーンショット 2022-12-15 6.35.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/153051/e4b353c2-dc12-89ba-81f9-44f6b53a6a20.png)

今回は使ってませんが、Data Explorerがめっちゃいい！！
![スクリーンショット 2022-12-15 6.56.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/153051/f5c9edda-2097-60e8-f802-3d3656b4537f.png)

こんな風にドラッグ&ドロップするだけでクエリが生成されて、実行ボタンを押したらデータが見れる！
![スクリーンショット 2022-12-15 6.57.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/153051/fae04d7b-5961-e088-ee84-394d1ad9d0bc.png)

今度はクエリもゴリゴリに書いてみようと思った今日この頃。

# Yoomの設定

1. Yoomにログイン
1. 新しいフローボットを作成
1. フローを作成
    1. 公開ホヤホヤのCData Connect Cloudコネクタを設定
    1. CData側で用意したFollowersテーブルを取得するように設定
    1. ループ処理
        1. FollowersのIDを元にkintoneのレコード取得
            1. もしレコードがあればkintone更新
            1. もしレコードがなければkintone新規追加

こんな流れです。
細かいことを書いてしまうとYoomの記事になってしまうので割愛しますが、繰り返し処理で結構つまりました。
CDataからで取得できるTwitterのフォロワー情報にはIDやアカウント名など様々な情報がオブジェクトで取得できるのですが、Yoomの場合繰り返しに使える情報が1つだけでIDとアカウント名を両方繰り返しで使う方法が見つけられず・・

こんな感じでConnect Cloudから取得したデータを`ID / アカウント名 / 元のオブジェクト`でそれぞれ設定してみたものの、
![スクリーンショット 2022-12-15 6.41.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/153051/e15ddba9-0ff6-2912-808f-5944a7dbafeb.png)

繰り返しのアウトプットに使えるのは1つに限定され、
![スクリーンショット 2022-12-15 6.41.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/153051/a261b7a5-4aca-7fd7-2417-981b260dd31b.png)

そこで選んだものしか変数として使えなかった（自分の知識不足なのかもしれないが）
![スクリーンショット 2022-12-15 6.41.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/153051/bcd74d6f-132c-2346-69c1-8587dff40a9d.png)

試しに、`元のオブジェクト`を繰り返しの条件にして、変数で`{{TwitterUserのループ変数}}.ID`とか `{{TwitterUserのループ変数}}.Name`と設定してみたけどなんかうまくいかなかった・・orz

ってことでアカウント名は諦めてIDだけkintoneに格納する方法で出来上がったフローがこちら。
![スクリーンショット 2022-12-15 6.27.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/153051/7f1d32b9-717f-6fd4-4421-843f8828d4e5.png)
※ 1件ずつ対応なのでフォロワーが1000人を超えている方は使えません。
※ 自分は500ちょいなので使えました。（なんか悔しい）

まぁシンプルにわかりやすいフローではありますが、UPSERTだから仕方ないけど1件ずつ処理なのがちとつらい。

ちなみに、kintoneにはこんな感じに保存されてます。
![スクリーンショット 2022-12-15 7.02.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/153051/42cee279-8f53-9850-6af5-435eb6d87dc3.png)


# おわりに

CData Connect Cloudは様々なSaaSとコネクションが簡単にはれて、かつクエリを書いて先にデータを整形できちゃうのが素晴らしい。
それをそのままぽいっとiPaaSサービスに渡して上げれば本当に楽にデータ連携ができて驚きです。ノーコード万歳＼(^o^)／

とりあえず記事公開を目指してサクッと試しましたが、今回集めたフォロワー情報を元に

> オラに元気を分けてくれ〜〜

をちゃんとつくるぞ！！

![20200623104643.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/153051/91269e12-25af-0b3e-3b77-c06adde780d8.jpeg)

それでは！≧(+･` ཀ･´)≦