【ノーコード】Smartsheet のデータを Google スプレッドシートにインポートする方法
CData API Server は、Smartsheet をREST API(OData) として公開することによりWeb サービスから接続することを可能にします。Google スプレッドシートでは、ImportData 関数を使ってWeb サービスデータをSCV フォーマットで取得することができます。次の手順で Google スプレッドシートでImportData 関数を使ってSmartsheet のデータ にアクセスする方法を説明します。
Smartsheet データ連携について
CData は、Smartsheet のライブデータにアクセスし、統合するための最も簡単な方法を提供します。お客様は CData の接続機能を以下の目的で使用しています:
- 添付ファイル、カラム、コメント、ディスカッションの読み取りと書き込みができます。
- 個々のセルのデータを表示したり、セルの履歴をレポートしたりできます。
- 添付ファイルの削除やダウンロード、シートの作成・コピー・削除・移動、行の別のシートへの移動やコピーなど、Smartsheet 固有のアクションを実行できます。
ユーザーは、Tableau、Crystal Reports、Excel などの分析ツールと Smartsheet を統合しています。また、当社のツールを活用して Smartsheet データをデータベースやデータウェアハウスにレプリケートしているお客様もいます。
はじめに
API Server の設定
以下のリンクからAPI Server の無償トライアルをスタートしたら、セキュアなSmartsheet OData サービスを作成していきましょう。
Smartsheet への接続
Google スプレッドシートからSmartsheet のデータを操作するには、まずSmartsheet への接続を作成・設定します。
- API Server にログインして、「Connections」をクリック、さらに「接続を追加」をクリックします。
- 「接続を追加」をクリックして、データソースがAPI Server に事前にインストールされている場合は、一覧から「Smartsheet」を選択します。
- 事前にインストールされていない場合は、コネクタを追加していきます。コネクタ追加の手順は以下の記事にまとめてありますので、ご確認ください。
CData コネクタの追加方法はこちら >> - それでは、Smartsheet への接続設定を行っていきましょう!
-
個人用トークンを使用して、自分のデータをテストし、アクセスします。個人用トークンを取得する方法は次のとおりです。
- Smartsheet にログインします。
- 「アカウント」をクリックして「個人用の設定」を選択します。
- 「API アクセス」をクリックし、フォームを使用して新しいアクセストークンを生成するか、既存のアクセストークンを管理します。
その後、OAuthAccessToken を生成したトークンに設定します。
- 接続情報の入力が完了したら、「保存およびテスト」をクリックします。
個人用トークンを使用して、自分のデータをテストし、アクセスします。個人用トークンを取得する方法は次のとおりです。
- Smartsheet にログインします。
- 「アカウント」をクリックして「個人用の設定」を選択します。
- 「API アクセス」をクリックし、フォームを使用して新しいアクセストークンを生成するか、既存のアクセストークンを管理します。
その後、OAuthAccessToken を生成したトークンに設定します。
API Server のユーザー設定
次に、API Server 経由でSmartsheet にアクセスするユーザーを作成します。「Users」ページでユーザーを追加・設定できます。やってみましょう。
- 「Users」ページで ユーザーを追加をクリックすると、「ユーザーを追加」ポップアップが開きます。
-
次に、「ロール」、「ユーザー名」、「権限」プロパティを設定し、「ユーザーを追加」をクリックします。
-
その後、ユーザーの認証トークンが生成されます。各ユーザーの認証トークンとその他の情報は「Users」ページで確認できます。
Smartsheet 用のAPI エンドポイントの作成
ユーザーを作成したら、Smartsheet のデータ用のAPI エンドポイントを作成していきます。
-
まず、「API」ページに移動し、
「 テーブルを追加」をクリックします。
-
アクセスしたい接続を選択し、次へをクリックします。
-
接続を選択した状態で、各テーブルを選択して確認をクリックすることでエンドポイントを作成します。
OData のエンドポイントを取得
以上でSmartsheet への接続を設定してユーザーを作成し、API Server でSmartsheet データのAPI を追加しました。これで、OData 形式のSmartsheet データをREST API で利用できます。API Server の「API」ページから、API のエンドポイントを表示およびコピーできます。
作成したAPI にGoogle シートから接続
- 次にGoogle Sheet からの接続のために、認証トークンをクエリ文字列で渡せるようにします。
クエリ文字列パラメータとして認証トークンを使用する HTTP フォームポストデータ、もしくはクエリパラメータの一部として提供される_@authtoken_ パラメータの値として認証トークンを指定することができます。ただし、デフォルトではAPI Server はクエリ文字列パラメータにおいて認証トークンを渡すことをサポートしていません。 settings.cfg のアプリケーションセクションにて、次のオプションを設定することで有効化できます。クエリ文字列パラメータとして認証トークンを使用する を参照してください。 - エンドポイントURL をAPI Server が自動生成するAPI ドキュメントからコピーします。authtoken はAPI Server の[ユーザー]を作成し、生成されたトークンを使います。
-
新しいGoogle スプレッドシートで、=ImportData() 関数をつかって、公開されたデータソースからCSV ファイルでデータをリクエストします。このサンプルでは、Sheet_Event_Plan_Budget テーブル全体をリクエストします。 Google は定期的に関数の結果を更新し、シートが最新のデータを保有している状態に保ちます。次のように関すを設定してみます。:
=ImportData("https://your-server/api.rsc/Sheet_Event_Plan_Budget?@csv&@authtoken=your-authtoken")