当サイトの記事にはプロモーションが含まれています。

初心者でもできる!Googleスプレッドシートとサービスアカウントの連携方法

パソコンパソコン・スマホ教室
スポンサーリンク

Googleスプレッドシートは、日々の業務や個人の作業でよく使われている便利なツールです。しかし、APIやサービスアカウントといった言葉を聞くと、少し敷居が高く感じるかもしれません。今日は、そんな初心者の方でも安心して理解できるように、Googleスプレッドシートとサービスアカウントの連携方法を、わかりやすく解説します。

スポンサーリンク

サービスアカウントって何?

Googleスプレッドシートのイメージ

Googleスプレッドシートのイメージ

まず、「サービスアカウント」とは何かを簡単に説明します。普段、Googleスプレッドシートを使うときは、あなた自身のGoogleアカウントでログインしていますよね。しかし、プログラムや自動化ツールからスプレッドシートにアクセスする場合、人間のアカウントではなく、プログラム専用の「サービスアカウント」を使います。これにより、プログラムが安全にスプレッドシートを操作できるようになります。

なぜサービスアカウントを使うのか?

サービスアカウントを使うことで、以下のようなメリットがあります

ここがポイント!

  • 自動化が可能プログラムからスプレッドシートを自動で操作できます。
  • セキュリティの向上人間のアカウントを使わず、専用のアカウントでアクセスするため、安全性が高まります。
  • アクセス権の管理サービスアカウントに対して、必要な権限だけを付与することができます。

サービスアカウントの作成手順

では、実際にサービスアカウントを作成してみましょう。以下の手順で進めてください。

  1. Google Cloud Consoleにログインhttps://console.cloud.google.com/ にアクセスし、Googleアカウントでログインします。
  2. 新しいプロジェクトを作成画面上部の「プロジェクトを選択」をクリックし、「新しいプロジェクト」を選択します。プロジェクト名を入力し、「作成」をクリックします。
  3. APIを有効化左側のメニューから「APIとサービス」→「ライブラリ」を選択し、「Google Sheets API」と「Google Drive API」を検索して、それぞれ「有効にする」をクリックします。
  4. サービスアカウントの作成左側のメニューから「IAMと管理」→「サービスアカウント」を選択し、「サービスアカウントを作成」をクリックします。名前や役割を入力し、「作成」をクリックします。
  5. キーの作成サービスアカウント作成後、「キーを追加」から「新しいキーを作成」を選択し、「JSON」を選びます。これで、サービスアカウントの認証情報が含まれたJSONファイルがダウンロードされます。

Googleスプレッドシートへのアクセス権の付与

次に、作成したサービスアカウントにGoogleスプレッドシートへのアクセス権を付与します。

  1. スプレッドシートを開くGoogleスプレッドシートを開き、右上の「共有」ボタンをクリックします。
  2. サービスアカウントのメールアドレスを追加先ほどダウンロードしたJSONファイルを開き、「client_email」の項目に記載されているメールアドレスをコピーします。それを「共有」画面の「ユーザーを追加」に貼り付け、「編集者」として追加します。
  3. 共有を完了「送信」をクリックして、サービスアカウントに対してアクセス権を付与します。

プログラムからのアクセス方法

これで、サービスアカウントを使ってプログラムからGoogleスプレッドシートにアクセスできるようになりました。Pythonなどのプログラミング言語を使って、スプレッドシートのデータを読み書きすることができます。

例えば、Pythonを使ってスプレッドシートのデータを取得するには、以下のようなコードを使用します

python
from google.oauth2.service_account import Credentials
from googleapiclient.discovery import build

# サービスアカウントの認証情報を指定
creds = Credentials.from_service_account_file(
'path/to/your/service-account-file.json',
scopes=
)

# Sheets APIのサービスオブジェクトを作成
service = build('sheets', 'v4', credentials=creds)

# スプレッドシートIDと範囲を指定
spreadsheet_id = 'your-spreadsheet-id'
range_name = 'Sheet1!D10'

# データを取得
sheet = service.spreadsheets()
result = sheet.values().get(spreadsheetId=spreadsheet_id, range=range_name).execute()
values = result.get('values', )

# データを表示
if not values:
print('No data found.')
else:
for row in values:
print(', '.join(row))

このコードを実行すると、指定した範囲のデータが取得できます。

よくある質問や疑問

サービスアカウントを作成するには、Google Cloud Platformの料金が発生しますか?

いいえ、サービスアカウントの作成自体には料金は発生しません。Google Cloud Platformの利用料金は、使用するAPIのリクエスト数やストレージの使用量などに基づいて課金されます。基本的な利用であれば、無料枠内で収まることが多いです。

サービスアカウントの認証情報(JSONファイル)はどこに保存すればよいですか?

認証情報は、プログラムからアクセスできる安全な場所に保存してください。例えば、環境変数を使ってパスを指定する方法や、プログラムと同じディレクトリに保存する方法があります。ただし、認証情報が漏洩しないように注意してください。

Python以外のプログラミング言語でもサービスアカウントを使えますか?

はい、Googleが提供する公式のクライアントライブラリは、Python以外にもJava、Node.js、Goなど複数の言語に対応しています。各言語のクライアントライブラリを使用することで、サービスアカウントを利用した認証が可能です。

まとめ

Googleスプレッドシートとサービスアカウントを連携することで、プログラムから安全にスプレッドシートを操作することができます。これにより、業務の自動化やデータの効率的な管理が可能になります。最初は少し難しく感じるかもしれませんが、手順を一つずつ進めていけば、必ずできるようになります。もし途中でつまずいたり、わからないことがあれば、気軽にLINEでお声掛けください。あなたのサポートをお手伝いします!

この記事を書いた人
この記事を書いた人

企業の情報システム部門で10年以上、PC・アカウント・社内ネットワーク・Microsoft 365/Google Workspace運用を担当。年間数百件の問い合わせ対応(PC不調、メール送受信、Excel/Word資料、Teams会議、スマホ連携など)を通じて、初心者がつまずくポイントを「再現→原因切り分け→最短解決」の手順に落とし込んできました

現場や身近で実際に起きたトラブルをベースに、手順だけでなく「なぜそうなるか」「失敗しやすい落とし穴」「安全な設定(セキュリティ)」まで含めて解説します。

相談窓口(問い合わせ/LINE等)を設け、記事で解決しないケースも個別にサポートしていますので「パソコンが急に動かなくなった」「スマホの設定がわからない」などの悩みは一人で抱え込まず、お気軽にご相談ください。

【お問い合わせは下記URLから】
https://m32006400n.xsrv.jp/inquiry-form/

【公式LINEは下記URLから】
https://lin.ee/t8TDjcj

uri uriをフォローする
スポンサーリンク
よかったらシェアしてね! /
uri uriをフォローする

コメント

タイトルとURLをコピーしました