ウェブ向け Google ログイン JavaScript プラットフォーム ライブラリが廃止されます。このライブラリは、2023 年 3 月 31 日のサポート終了日以降にダウンロードできなくなります。代わりに、ウェブ向けの新しい Google Identity Services を使用してください。
新しく作成されたクライアント ID は、デフォルトで古いプラットフォーム ライブラリを使用できなくなり、既存のクライアント ID は影響を受けません。2022 年 7 月 29 日より前に作成された新しいクライアント ID では、"plugin_name" を設定して Google プラットフォーム ライブラリの使用を有効にすることができます。

追加の権限をリクエストする

ユーザーデータまたはその他のリソースにアクセスするためのユーザー権限を要求する場合、最初の要求ですべてのスコープを事前に要求するか、増分承認を使用して必要な場合にのみスコープを要求できます。インクリメンタル認証を使用すると、アプリは最初にアプリの起動に必要なスコープのみをリクエストし、次にユーザーへのリクエストの理由を特定するコンテキストで、新しい権限が必要になると追加のスコープをリクエストします。

たとえば、アプリでユーザーが音楽のプレイリストをGoogleドライブに保存できるとします。アプリは、サインイン時に基本的なユーザー情報を要求できます。その後、ユーザーが最初のプレイリストを保存する準備ができたら、Googleドライブのアクセス許可のみを要求します。

同意画面が圧倒的であるためにユーザーがサインインしていないと思われる場合、またはユーザーが特定のアクセス許可を求められている理由について混乱している場合は、この手法を使用してください。次の手順はWeb用であり、クライアント側のサインインボタンを追加するための手順から派生しています。Google2.0サインインボタンの作成。 Webの増分認証の詳細については、 OAuth2.0のドキュメントを参照してください。

追加のスコープをリクエストする

サインイン時に、アプリは「ベース」スコープを要求します。これは、サインインスコープprofileと、アプリが操作に必要なその他の初期スコープで構成されます。後で、ユーザーが追加のスコープを必要とするアクションを実行する場合、アプリはそれらの追加のスコープを要求し、ユーザーは同意画面から新しいスコープのみを承認します。

ステップ1:ベーススコープをリクエストする

Googleログインを初期化するときに、ベーススコープprofileをリクエストします。この手順は、Google2.0サインインボタンの作成に含まれています。

auth2 = gapi.auth2.init({
    client_id: 'CLIENT_ID.apps.googleusercontent.com',
    cookiepolicy: 'single_host_origin', /** Default value **/
    scope: 'profile' });                /** Base scope **/

ステップ2:追加のスコープをリクエストする

追加のスコープが必要な場合は、追加するスコープを使用してオプションビルダーを作成し、 user.grant({scope: [OPTIONS BUILDER]}).then(successFunction, failFunction);を呼び出してスコープを要求します。 :

const option = new gapi.auth2.SigninOptionsBuilder();
option.setScope('email https://www.googleapis.com/auth/drive');

googleUser = auth2.currentUser.get();
googleUser.grant(options).then(
    function(success){
      console.log(JSON.stringify({message: "success", value: success}));
    },
    function(fail){
      alert(JSON.stringify({message: "fail", value: fail}));
    });