CData Software ハンズオン（ExcelからTwitterのデータを取得&登録）

# 使用するCData製品

- [CData Excel Add-In for Twitter](http://www.cdata.com/jp/drivers/twitter/excel/)

# CData Excel Add-In for Twitterのインストール

以下のサイトから評価版ビルドをダウンロードします。

- [CData Excel Add-In for Twitter](http://www.cdata.com/jp/drivers/twitter/download/excel/)

ダウンロードされたインストーラ形式(.exe)のファイルを起動します。
(注)Excelアプリケーションを閉じてから実行してください。
(注)途中オンラインでのアクティベーションが実行されるためインターネットアクセス出来る環境で行ってください。


下記のようなインストーラが起動するので、ライセンス契約書を確認した上で、デフォルト設定のままインストールを進めて完了させます。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/767e8d45-7df6-6cac-2eb6-96b767e964e2.png)

インストールが完了するとデフォルトブラウザが起動して製品ヘルプファイルが起動します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/c60de0c0-153d-a816-860e-fb825c2ab953.png)

# CData Excel Add-In for Twitterの起動、および、接続設定

Excelアプリケーションを起動して、空白のブックを開きます。リボンにCDATAタブが追加されるので、「取得元Kintone」アイコンをクリックします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/054977a3-aa0c-5e8c-aebc-704cc90f1be9.png)

起動した「接続ウィザード」内の下記の項目に、[Twitter アカウント、および、TwitterでAPIアクセスするためのOAuthクレデンシャル取得方法](https://qiita.com/kuwazzy/items/7cdcb62962fc792bc82e)で事前に取得したOAuthクレデンシャル情報を設定します。

| TwitterのOAuthクレデンシャル | 設定項目 |
|:-----------------|------------------|
| Consumer Key (API Key) |OAuth Client Id |
| Consumer Secret (API Secret) | OAuth Client Secret |
| Access Token | OAuth Access Token |
| Access Token Secret | OAuth AccessToken Secret |

「接続テスト」ボタンをクリックします。下記のようなダイアログが表示されれば成功です。「接続ウィザード」の「OK」ボタンをクリックして保存します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/dacf4995-ee1f-67fc-bdac-69c9b1d11649.png)

## Twitterタイムラインデータの取得

「CDataデータ選択」ダイアログに戻り、Excelのシートにデータを取得したいテーブルを選択します。Twitterの場合、タイムラインの情報は「Tweets」テーブルに含まれているので、今回は、「Tweets」テーブルを選択して「OK」ボタンをクリックします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/be8b0b4e-1fdd-4423-a1be-f6bf67f3e62e.png)

このタイミングで、TwitterのAPIにタイムラインのデータを取得するリクエストを発行します。取得されたタイムラインのデータはExcelのセルにバインドされます。なお、Text列がツイート内容となります。
(注)デフォルトだと、最大行数が100行に絞り込まれます。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/afe461cb-3866-2782-df04-73dca2baf347.png)

それでは、特定ユーザのツイート情報のみ絞り込んでみましょう。再度、「取得元Twitter」ボタンをクリックして、「CDataデータ選択ダイアログ」画面を表示させて、「From_User_Id」の値（本例では、「709991506229248001」）で絞り込むSQLを「クエリー」エリアに指定します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/642f2962-c3bb-07d5-fafa-30d5b9b49bb4.png)

```sql
SELECT * FROM [CData].[Twitter].[Tweets] WHERE From_User_Id = '709991506229248001' LIMIT 100
```
「OK」ボタンをクリックして、再度実行すると、該当ユーザのツイートのみ取得出来ることが確認できます。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/c191e088-8f4e-3e0e-dc65-714ae013f0ae.png)

(注)TwitterのAPIはRateLimit（一定時間内のAPIリクエスト数の制約）が厳しいので、一定回数以上、もしくは、SQLのLimitを外して実行すると上限に達する場合があります。その場合は、１５分間経過後に実行ください。
[Twitter Developers - Rate limits](https://developer.twitter.com/en/docs/basics/rate-limits)

# Twitterへのツイート

Excelから入力したテキストをTwitterにツイートしてみます。「Tweets」テーブルがバインドされているシートの「Text」列のデータが格納されているレコードの下のレコードにツイートしたい内容（本例では、「Cdata Software ハンズオンツイートテスト」）を入力します。セルを変更してTwitter側が反映されていない状態ではセル値の文字列が赤となります。リボン「CDATA」タブ内の「行の挿入」ボタンをクリックします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/aeee1a78-bcb8-c7bc-d128-e643d6299698.png)

すると、文字列は黒文字に戻ります。それでは、Twitterのタイムラインを確認してみます。Excelから入力した文字列でツイートできていることを確認できます。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/de521be5-ae09-3a0d-7e56-35e0029f2b74.png)

ExcelからTwitterのタイムラインのデータを取得、登録することが出来ました。