Разрешения OAuth приложения Drive API не обновляются

Я работаю над сервисом Golang, который будет подключаться к Google Диску и загружать файл. Проблема в том, что независимо от того, как я обновляю разрешения проектов, когда я запускаю приложение и перехожу в окно браузера к OAuth, оно показывает только metadata разрешения, которые необходимо предоставить, когда они предоставили больше, чтобы я мог загружать файлы.

Вот шаги, которые я предпринял для службы:

  1. Я создал проект в Google Developer Console.

  2. В этом проекте я включил и обновил разрешения Google Диска для захвата всех разрешений auth/drive (я также пытался предоставить все и только некоторые детализированные разрешения).

  3. Я создаю сервис Golang из этого примера: https://developers.google.com/drive/api/v3/quickstart/go

  4. Я запускаю приложение Golang, которое предлагает мне открыть URL-адрес в браузере для аутентификации OAuth.

  5. Я открываю ссылку в браузере, идентифицируюсь с моей учетной записью Gmail владельца приложения, и каждый раз, независимо от того, что я делаю, это единственная область OAuth, которая показывает:

введите здесь описание изображения

Если я использую Drive API Explorer для загрузки файла это показывает, что мне нужны эти разрешения:

введите здесь описание изображения

Когда я нажимаю «Выполнить» в проводнике, всплывающее окно OAuth показывает все разрешения, которые я ожидаю для своего приложения, и работает правильно:

введите здесь описание изображения

Что я делаю неправильно или упускаю?

Может ли это быть потому, что приложение является «внутренним»?


person DjH    schedule 01.06.2020    source источник


Ответы (1)


Проблема заключалась в шаблоном коде Golang Quick-Start, который я использовал. для создания шаблона приложения.

Эта строка переопределяла настройки разрешений, которые я явно устанавливал в консоли.

    // If modifying these scopes, delete your previously saved token.json.
    config, err := google.ConfigFromJSON(b, drive.DriveMetadataReadonlyScope)
    if err != nil {
        log.Fatalf("Unable to parse client secret file to config: %v", err)
    }

исправлено при изменении на:

    // If modifying these scopes, delete your previously saved token.json.
    config, err := google.ConfigFromJSON(b, drive.DriveScope)
    if err != nil {
        log.Fatalf("Unable to parse client secret file to config: %v", err)
    }
person DjH    schedule 01.06.2020