BigQuery の 外部データ設定 に Google Spread Sheets が設定されているテーブルをスケジュールクエリで別テーブルに移している構成で認証エラーが発生したとき


概要

タイトルのような構成を退職者から引き継いだときに、退職者の権限がなくなると、大変という話

エラー内容1

スケージュールクエリが以下のようなエラーを吐きます。

Bad Request; The issue may be resolved by verifying that the user has sufficient permissions and updating the credentials for this transfer config; error: "invalid_grant" error_description: "Bad Request"

対応1

スケージュールクエリの認証情報を更新します。

https://cloud.google.com/bigquery/docs/scheduling-queries?hl=ja#updating_the_credentials_of_a_scheduled_query

確認1

実行履歴から再試行します。

エラー内容2

デスクトップでアクセスしてと怒られます。

Error while reading table: hogehoge_table, error message: Google Sheets returned error: Please use a desktop web browser to connect this sheet.. Row 0; Col 0.; JobID: xxxxxxxxxxxxxxx:scheduled_query_xxxxxxxxxxxxxxx

対応2

この辺からアクセスします。

https://dev.classmethod.jp/articles/bigquery-create-table-by-external-datasource-gcs/

Allow accessします。


https://stackoverflow.com/questions/25178205/how-can-i-make-an-apps-script-to-instantly-allow-access-to-all-imported-elements

確認2

実行履歴から再試行します。

解決

自分の権限で接続し直せます

感想

めでたしめでたし