1. ホーム
  2. node.js

[解決済み】Google spreadsheet api Requestに不十分な認証スコープがあった。

2022-02-05 20:12:13

質問

nodejsで以下のスクリプトを使ってgoogleスプレッドシートからデータを読み込むスクリプトを作っています。

プレ {コード

しかし、すべてのgetリクエストで、このエラーが発生します。

var url = oauth2Client.generateAuthUrl({
    access_type:     'offline',
    approval_prompt: 'force',
    scope: [
      'https://www.googleapis.com/auth/analytics.readonly',
      'https://www.googleapis.com/auth/drive',
      'https://www.googleapis.com/auth/spreadsheets'
    ]
});
global.googleapis = { expiry_date: 0 };
google.options({ auth: oauth2Client });
var sheets    = google.sheets('v4');
sheets.spreadsheets.get({ spreadsheetId: 'id'}, function(err, data) {
    res.send(err, data);
});

Google Drive APIを有効にするためにGoogle developers consoleを確認したら有効になっていたので、何が原因なのかよくわかりません。

解決方法は?

{を使用します。
  • まず、認証ファイルを削除します。 Request had insufficient authentication scopes. (設定による)

  • Googleスプレッドシートからセルを読み込む際に使用するスコープ変数を以下のように変更します。

    {を使用します。

    var SCOPES = [' https://www.googleapis.com/auth/spreadsheets.readonly '];

    まで

    var SCOPES = [' https://www.googleapis.com/auth/spreadsheets '];

    1. コード実行後、APIが再度認証され、問題が解決されます。