Smartsheet(https://jp.smartsheet.com/welcome-customers-home)は、スプレッドシート的なデータをベースとしたノーコードアプリケーションプラットフォームで、プロジェクト管理やワークフロー自動化に強みがあるツールです。
API があるので、とりまPostman から触ってみました(わが社は「とりまPostman」がもはや常識)。
一つサンプルのシートを作りました。
SmartSheet のAPI を使うための準備
それでは、Smartsheet のAPI ドキュメントから見ていきます。
API ドキュメント:https://smartsheet.redoc.ly/#section/Introduction
Raw Access Token 方式 とOAuth 2.0 方式
Smartsheet API へのアクセスには、Raw Access Token 方式とOAuth 2.0 方式があるとのことです。まずさわってみるということであれば、Raw Access Token 方式で良いそうですが、実利用にはOAuth 2.0 が推奨されているようです。
Access Token は、画面の左下のアカウントを開き、[個人用の設定]->[API アクセス]->[新しいアクセストークンの生成]で生成可能です。
本記事では実利用向けのOAuth 2.0 でのアクセスを説明していきます。
開発者アカウントの取得
OAuth でのAPI アクセスには、開発者アカウントを取得して開発者アプリを作成する必要があります。
まずは、Smartsheet の左下のアカウントから[開発者ツール] をクリックします。
開発者画面が開きますので、[Register] のボタンをクリックします。
Developer Sandbox Account Registration 画面が開くので、メールアドレスを登録して、[Register Developer Account]ボタンをクリックします。
これで登録ができている旨のメールが来ているはずです。
メールボックスに以下のようなメールが来ます。リンクをクリックしてアクティブ化。
開発者プロファイルとして、名前とメールアドレスを登録。
開発者アプリケーションの作成
OAuth でのAPI アクセスにはAPI アクセス用の開発者アプリを作成する必要があります。[新しいアプリの作成]ボタンをクリックします。
開発者アプリの設定画面です。以下のように登録をして、保存ボタンをクリックします。
アプリ名 |
(任意) |
|
アプリ説明 |
(任意) |
|
アプリのURL |
API アクセスするアプリのURL |
今回はデスクトップPostman からのアクセスなので適当な文字 |
アプリ連絡先/サポート |
連絡先 |
今回は適当な文字 |
アプリリダイレクトURL |
http://localhost:33333 |
今回はデスクトップPostman からのアクセスなのでローカル |
これでアプリが開発でき、[アプリクライアントid]と[アプリシークレット] が取得できました。接続に使うので、キーを保存しておきます。
これでSmartsheet にAPI でアクセスする準備ができました。
Postman からSmartsheet API に接続
では、Postman(https://www.postman.com/)を使ってSmartsheet にAPI 接続してみましょう。
Postman Desktop を使っています。
Authorization タブを開き、以下の通りに認証のための値を入れていきます。
Token Name |
(任意) |
Grant type |
Authorization Code |
Callback URL |
http://localhost:33333 |
Auth URL |
https://app.smartsheet.com/b/authorize |
Access Token URL |
https://api.smartsheet.com/2.0/token |
Client ID |
先程取得したアプリクライアントid |
Client Secret |
先程取得したアプリシークレット |
State |
READ_SHEETS |
Client Authentication |
Send client credentials in body |
Auth URL やAccess Token URL はドキュメントを参照:https://smartsheet.redoc.ly/#section/OAuth-Walkthrough
[State] は、API アクセスの権限なので、こちらの権限の種類からカンマで区切って使用できるアクセス権限を付けていきます:https://smartsheet.redoc.ly/#section/OAuth-Walkthrough/Access-Scopes
Authentication の入力ができたら、下にスクロールして、[Get New Access Token]のオレンジ色のボタンをクリックします。
ブラウザが開いて、Smartsheet にログインするとアプリからのSmartsheet へのアクセスリクエストを許可する画面が開きますので、許可ボタンをクリックします。
これでOK です。[Proceed]ボタンを押します。
トークンが撮れましたので、[Use Token]ボタンを押して、Postman でこれらのトークンでアクセスができるようにします。
Postman で、smartsheet のシート一覧を取得してみましょう。
Method |
GET |
URI |
https://api.smartsheet.com/2.0/sheets |
Content-Type |
application/json |
レスポンスが返ってきました。
sheet id をURI に入れてシートの中身も取ることができました。
おまけ:CData Drivers for Smartsheet
CData では、Smartsheet のAPI に通常のExcel、BI ツール、スプレッドシート、ETL ツールからSQL でアクセスできるコネクタ「CData Drivers for Smartsheet」を提供しています。Smartsheet と既存のツール、アプリケーションの連携、Smartsheet データの分析などには是非、CData の連携コネクタをお試しください。
関連コンテンツ