DataPortalのリソースをターミナルから操作するためにGoogle DataStudio APIを試してみた

DataPortalをAPI経由で操作できないかと模索した結果をまとめてみました。
2022.03.29

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

SaaSの色々な機能について、Webコンソール上での操作が煩わしくなった末に可能な場合はターミナル上での操作に変更することがしばしばあります。

DataStudioについてもターミナル上からコードやコマンドラインベースで手軽に操作したいなと思い、できるかどうかを試してみました。

DataStudioのカテゴリについて

Google DataStudioはGoogle Cloudの左側サービス一覧からはツリーから辿っても見つかりません。何故か今までわかりませんでしたが、検索していたところ以下の結果をみて理解。

実はMarketPlaceの製品。では触る方法が何もないかといえばそうでもありません。

DataStudioのAPIについて

APIはあります。

DataStudio 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によるレポート操作が出来ないとわかり、自動出力の点では手段がないことを理解しました。ただ、公式トラッカーではいくつもの要望が上がっていることもあり、いずれは効率のよい自動出力手段も整うかもしれません。