Smartsheet APIにOAuth認証でつないでPostmanからデータ取得する方法

CData

  • この記事をはてなブックマークに追加
  • 本文印刷

 本記事はCDataが提供する「CData Software Blog」に掲載された「Smartsheet APIにOAuth認証でつないでPostmanからデータ取得する方法」を再編集したものです。

 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では、SmartsheetのAPIに通常のExcel、BIツール、スプレッドシート、ETLツールからSQLでアクセスできるコネクタ「CData Drivers for Smartsheet」を提供しています。Smartsheetと既存のツール、アプリケーションの連携、Smartsheetデータの分析などには是非、CDataの連携コネクタをお試しください。

■関連サイト

過去記事アーカイブ

2024年
02月
03月
04月
05月
2023年
04月
07月
08月
09月
10月
11月
12月