試してみたブログ

AI関連・iPhone/Pixelなどのガジェット・音声入力・サーマルプリンタなど興味をある事をどんどん試してみた際の記録

Looker Studioのレポート名の一覧を取得するbookmarkletを作成した

順番が逆になってしまったが、今回はLooker Studioのレポート名の一覧を取得するbookmarkletを作成しました。 前回はページ名一覧を取得する物でした。

tameshitemita.hatenablog.jp

レポート名の一覧はおそらくLooker Studio APIを使えば取得出来そうではあるが、組織のドメイン委任等を行う必要がありサクッと出来なさそうだった為、いったんbookmarkletで進めた。

Looker Studio API https://developers.google.com/looker-studio/integrate/api?hl=ja

試してみた

  • 対象としてはLooker Studioページの「共有アイテム」と「自分がオーナー」のページから取得する

  • chatgptにやりたいこと+該当の部分のソースを渡すプロンプトにした
bookmarkletでレポート名とURL、共有者を取得してcsvにしてダウンロードしたい。
下記の様なブロックがいくつもあるので、loopして取得してください。
<span _ngcontent-ng-c83="" class="item-link">・・・
最後にミニマイズした上でソースコードを開示してください
  • 成果物
javascript:(function(){var r=[['レポート名','URL','共有者']];document.querySelectorAll('span.item-link').forEach(function(e){var a=e.querySelector('a'),o=e.querySelector('.cell.owner span');r.push([a?a.textContent.trim():%27%27,a?a.href:%27%27,o?o.textContent.trim():%27%27]);});var csv=r.map(function(x){return x.map(function(c){return %27"%27+c.replace(/"/g,%27""%27)+%27"%27}).join(%27,%27)}).join(%27\r\n%27);var b=new Blob([csv],{type:%27text/csv%27}),l=document.createElement(%27a%27);l.href=URL.createObjectURL(b);l.download=%27reports.csv%27;document.body.appendChild(l);l.click();setTimeout(function(){document.body.removeChild(l)},1000);})();
  • 1発で作成が完了出来た
  • レポート一覧とページ一覧の作成が出来る様になったので次回はレポート一覧から自動でページ一覧を抜く作業を行う