MENU
目次

GASでアクセストークン/リフレッシュトークンを取得する方法【GoogleCloudPlatform】

目次

アクセストークン/リフレッシュトークンとは?

アクセストークンとリフレッシュトークンは、ウェブサービスに「このユーザーは認証済みだよ」と教えるためのデジタルな「鍵」のようなものです。
ただし、2つのトークンには少し役割の違いがあります。

項目アクセストークンリフレッシュトークン
役割特定のアプリやサービスにアクセスするための鍵新しいアクセストークンをもらうための鍵
期限時間が経つと使えなくなる(通常1時間程度)長期間使える
アクセストークンとリフレッシュトークンの違い

例えば、自動販売機で飲み物を買う場面を想像してみましょう。

アクセストークンが「飲み物を買うためのチケット」だとすると、このチケットは使える時間が短く、1回使ったら無効になります。
でもリフレッシュトークンを持っていると、チケットが期限切れになったときでも、新しいチケットをもらえるので、何度も飲み物を買えるという感じです。

この2つのおかげで、安全かつスムーズにアプリを使い続けられるようになっています。

公式ドキュメント

GASでアクセス/リフレッシュトークンを取得する

以下のサイトを参考にアクセストークン/リフレッシュトークンを取得してください。
少しわかりにくい点があると思うので、本記事にて補足説明します。

参考記事の手順を補足します。

補足① 手順2~4:デプロイとURL設定手順

GASをWebアプリケーションとしてデプロイする手順

スクリプトを外部アプリケーションから実行できるようにするため、GASをWebアプリケーションとして公開します。

  • エディター画面の「デプロイ」 > 「新しいデプロイ」を選択します。
  • デプロイの設定で、タイプを「Webアプリケーション」にし、アクセス権を「全員(匿名ユーザー含む)」または「自分」に設定します。
  • 「デプロイ」ボタンを押して、公開URLが生成されるので、このURLをコピーしておきます。

参考記事のスプレッドシートのGASをデプロイした際に表示されるウェブアプリURLをコピーしてください。
そしてスプレッドシートのB2セルに貼り付けます。

認証情報にURLを追加

カスタマイズ手順①にて作成した認証情報を開いて、承認済みのリダイレクトURIにデプロイしたアプリのURLをコピペしてください。

補足② 手順6:クライアント/シークレットIDについて

クライアントID/クライアントシークレットはGoogleCloudPlatformにて取得してください。
クライアントID/クライアントシークレットを未作成の場合は、以下のサイトを参考に認証情報を作成ください。

補足③ 手順7:必要なGoogleAPIスコープについて

GoogleAPIのスコープとは?

Google API のスコープ は、アプリケーションが Google のリソースやデータにアクセスする際の権限の範囲を示すものです。スコープを指定することで、アプリケーションがどの範囲までデータにアクセスできるか、ユーザーに明示し、その許可を求めることができます。

スプレッドシートのGASを実行する際に必要なスコープ例

GoogleスプレッドシートのGASを実行する場合、以下の3つのスコープが必要です。

https://www.googleapis.com/auth/script.external_request
https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/spreadsheets

上記以外にも様々な種類のスコープがあります。
代表的なスコープとその役割をいくつか紹介します。

1. Google Drive API

Google Drive の API スコープは、アプリケーションが Google Drive 内のファイルやフォルダにアクセスする際の権限を管理します。

  • https://www.googleapis.com/auth/drive
    Google Drive の全てのファイルに対する読み書きアクセス。
    ユーザーのすべてのファイルとフォルダにフルアクセスできるため、慎重に利用する必要があります。
  • https://www.googleapis.com/auth/drive.file
    アプリケーションが作成または特定のユーザーが選択したファイルのみにアクセスするためのスコープ。
    ユーザーが許可したファイルだけにアクセスできるので、よりセキュアです。
  • https://www.googleapis.com/auth/drive.readonly
    読み取り専用で Google Drive にアクセスするスコープ。
    ユーザーのファイルを閲覧のみでき、編集はできません。

2. Google Calendar API

Google Calendar API スコープは、アプリケーションがカレンダー情報にアクセスする際の権限を管理します。

  • https://www.googleapis.com/auth/calendar
    カレンダーの全てのイベントに対する読み書きアクセス。
    イベントの作成、更新、削除も可能です。
  • https://www.googleapis.com/auth/calendar.readonly
    カレンダーイベントの読み取りのみを許可するスコープ。
    カレンダー情報の閲覧のみでき、編集はできません。

3. Gmail API

Gmail API スコープは、Gmail メッセージや設定にアクセスする際に使われます。

  • https://www.googleapis.com/auth/gmail.readonly
    Gmail のメッセージに対して読み取り専用のアクセス権を付与するスコープ。
    メールの閲覧は可能ですが、操作や削除はできません。
  • https://www.googleapis.com/auth/gmail.send
    メールの送信のみを許可するスコープ。
    メッセージ作成や送信に使用できますが、受信トレイなどの内容にはアクセスできません。
  • https://www.googleapis.com/auth/gmail.modify
    メッセージの読み取り・作成・変更が可能なスコープ。
    ラベルの付与や削除、メッセージの削除なども行えます。

4. Google Sheets API

Google Sheets の API スコープは、スプレッドシートにアクセスする際に使用されます。

  • https://www.googleapis.com/auth/spreadsheets
    スプレッドシートに対する読み書きのアクセスを許可するスコープ。
    セルの値を変更したり、シートにデータを入力できます。
  • https://www.googleapis.com/auth/spreadsheets.readonly
    スプレッドシートの内容を読み取るだけのアクセス権を付与するスコープ。内容の変更はできません。

5. Google Apps Script API

Google Apps Script API のスコープは、Google Apps Script を使用して Google サービスや外部のリソースにアクセスする際に必要な権限を管理します。Google Apps Script では、Google の各種サービスや外部 API を操作するために、必要な権限を指定するスコープを設定することが求められます。

  • https://www.googleapis.com/auth/script.deploy
    Google Apps Script のプロジェクトをデプロイするために必要な権限を提供するスコープです。
  • https://www.googleapis.com/auth/script.external_request
    Google Apps Script から外部サーバーや API に対して HTTP リクエストを送信するための権限を提供するスコープです。

スプレッドシートのGASを実行する場合は、以下の3つのスコープが必要です。

6. Google Contacts API

Google Contacts API スコープは、ユーザーの連絡先情報にアクセスするための権限を管理します。

  • https://www.googleapis.com/auth/contacts
    連絡先情報の読み取りと変更が可能なスコープ。
    ユーザーの連絡先を取得したり、新しい連絡先を追加したりできます。
  • https://www.googleapis.com/auth/contacts.readonly
    連絡先の読み取り専用のスコープ。連絡先情報を参照するのみで、編集は行えません。

7. Userinfo API (Google+ API の代替)

Google アカウント情報(プロファイル)へのアクセス権限を管理します。

  • https://www.googleapis.com/auth/userinfo.profile
    ユーザーの公開プロファイル情報(名前、プロフィール写真など)にアクセスするスコープです。
  • https://www.googleapis.com/auth/userinfo.email
    ユーザーのメールアドレスにアクセスするスコープです。

まとめ

いかがでしたでしょうか。
アクセストークンとリフレッシュトークンを取得できたら、外部アプリケーションからGASを実行する事ができます。

UipathでGASを実行したい場合は、以下の記事を参考にしてください。

Ueda
フリーランスエンジニア
RPAエンジニアです。
UipathやVBAを使用した開発を得意としています。優れた可読性と効率的な設計を併せ持つRPA開発を心がけています。
RPA初心者向けの教育経験多数あり。RPAの開発サポートも承ります。

Wordpressを用いたHP制作のお仕事も経験があります。本サイトもWordpressを用いて制作しております。

ペットのチワプーと暮らしてます。
  • URLをコピーしました!

コメント

コメントする

目次