見出し画像

Looker Studioでレポートリストを取得する方法

この記事について

自分が作ったLooker Studioのレポートのリストを取得したかったのですが、レポートの一覧画面でレポート名などの項目をドラッグで範囲指定することができず、コピペでリストを作ることができませんでした。(2024/03/12時点)
そこで、Javascriptを利用して画面の要素を抜き出してリスト取得する方法を考えました。

レポートの一覧画面で全選択した状態。レポート名などの欄は選択されない。

取得方法

まずはブラウザでLooker Studioのレポート一覧画面を開いてください。
そして、F12キーなどで開発者ツールを開き、[コンソール]のタブを選択し、コンソール欄に以下のスクリプトを貼り付けて、Enterキーを押下して実行するだけです。

var rep_name = $('nav-item > div:nth-child(2)');
var rep_link = $('nav-item > div:nth-child(2) > a');
var rep_owner = $('nav-item > div:nth-child(3)');
var result = '名前,レポートURL,オーナー\n';
for(var i=0;i<rep_name.length;i++){
  result += rep_name[i].innerText + ',' + rep_link[i].href + ',' + rep_owner[i].innerText + '\n';
}
console.log(result);

どのような処理をしているのか簡単に説明すると以下の通りです。
1行目:レポート名のdiv要素を配列に格納
2行目:レポート名のa要素を配列に格納
3行目:オーナー名のdiv要素を配列に格納
4行目:結果を格納する変数にヘッダー行を設定
5行目:レポート名の配列の要素数の回数ループ処理を実施
6行目:各配列からi番目の要素のレポート名、レポートのURL、オーナー名を結果用変数に格納
7行目:ループ閉じ
8行目:コンソールログに結果用変数の中身を出力

1~3行目で取得したい箇所の要素のCSSセレクターを指定していますが、もし他に取得したい部分があれば、その要素のCSSセレクターを調べて追加・変更することも可能です。

※Googleのサービスは常にバージョンアップされていくので、要素の構成が変更になってしまう可能性もありますが、CSSセレクターを直せばプログラム自体は使えると思います。

もし結果がundefinedとしか表示されない場合、出力するログの設定に、ログレベルや情報レベルが含まれていることを確認してみてください。

注意点

「セルフXSS」という、ユーザを騙して情報を窃取するプログラムを開発者ツールを使って実行させる攻撃手法が存在しているため、開発者ツールにプログラムをコピーして実行する場合は、信頼できる情報元であり、プログラムの内容をよく理解できている場合だけにするよう注意してください。