DataPortalのリソースをターミナルから操作するためにGoogle DataStudio APIを試してみた
SaaSの色々な機能について、Webコンソール上での操作が煩わしくなった末に可能な場合はターミナル上での操作に変更することがしばしばあります。
DataStudioについてもターミナル上からコードやコマンドラインベースで手軽に操作したいなと思い、できるかどうかを試してみました。
DataStudioのカテゴリについて
Google DataStudioはGoogle Cloudの左側サービス一覧からはツリーから辿っても見つかりません。何故か今までわかりませんでしたが、検索していたところ以下の結果をみて理解。
実はMarketPlaceの製品。では触る方法が何もないかといえばそうでもありません。
DataStudioのAPIについて
APIはあります。
ただしAPI利用に伴うOAuthクライアントでGoogle WorkspaceまたはCloud Identityの管理者による操作が必要です。事前にClient IDの発行を行って、管理者へ渡しておきましょう。
実際にAPIを使う
このAPIですが、実装はほぼ存在しないも同義の状態になっています。Drive APIの実装コードにてリクエスト送信先のURLを一部書き換えることでリソース一覧の取得だけは可能です。
const oAuthToken = '123' // This should be replaced with a valid OAuth token. fetch(`https://datastudio.googleapis.com/v1/assets:search?assetTypes={ASSET_TYPE}`, { headers: { Authorization: `Bearer ${oAuthToken}` } })
詳細については以下のFAQを見るとわかります。
The only things you can do with that API is view your Data Studio assets and update permissions. That's it. This API won't let you create/copy/modify reports or data sources.
ライブラリについて
Pythonのgoogle-api-python-clientでの実装を念の為確認してみましたが、現時点でライブラリにDataStudio実装は含まれていません。
あとがき
DataStudio APIによるレポート操作が出来ないとわかり、自動出力の点では手段がないことを理解しました。ただ、公式トラッカーではいくつもの要望が上がっていることもあり、いずれは効率のよい自動出力手段も整うかもしれません。