Google API Drive V3 извлекает используемое дисковое пространство - PullRequest
0 голосов
/ 08 января 2020

Я использую учетную запись службы Google для получения данных об использовании разных пользователей. Я использую python клиент Google для аутентификации и получения данных.

Код

    service = build('drive', 'v3', credentials=auth)
    result = service.about().get(email).execute();
    result = result.get("storageQuota", {})

Я получаю следующую ошибку:

    method() takes 1 positional argument but 2 were given

Я хочу иметь возможность получить его из информации о диске определенного пользователя c, используя электронную почту в качестве идентификатора.

Ответы [ 2 ]

1 голос
/ 08 января 2020

Это недокументированный обязательный параметр с этим запросом. Его называют полями. У меня есть сообщение об ошибке.

service = build('drive', 'v3', credentials=auth)
driveRequest = service.about().get(email);
driveRequest.fields = "*";
result = driveRequest.execute();
result = result.get("storageQuota", {})

Пожалуйста, обратите внимание, я не python разработчик, это предположение о том, как это сделать.

0 голосов
/ 09 января 2020

Как получить информацию о диске от себя

Попробуйте этот пример фрагмента:

result = service.about().get(fields="*").execute()
result = result.get("storageQuota", {})
print(result)

Вывод print:

{'usage': '11638750', 'usageInDrive': '11638750', 'usageInDriveTrash': '7531862'}

Как Чтобы получить информацию о диске от пользователя в вашем домене

Если вы являетесь администратором и хотите получить информацию о пользователях, выполните следующие действия:

  1. Создание проекта в Консоль администратора
  2. Создание служебной учетной записи
  3. Go для консоли администратора> Безопасность> Расширенные настройки> Управление доступом клиента API
  4. В поле «Имя клиента» введите полный адрес электронной почты созданной учетной записи службы
  5. В одну или несколько областей API введите https://www.googleapis.com/auth/drive и нажмите «Авторизовать»
  6. Вернитесь к Службы учетных записей , выберите свою учетную запись, Включить делегирование G Suite для всего домена
  7. Создать Ключ учетной записи службы (загрузить его как. json)
  8. Активируйте Drive API для вашего проекта. Go для API и сервисов> Панель инструментов , нажмите ВКЛЮЧИТЬ АПИС И УСЛУГИ, найдите диск и включите его.
  9. Создайте index.py файл со следующим кодом и запустите его:
from googleapiclient.discovery import build
from google.oauth2 import service_account

def main():

    SCOPES = ['https://www.googleapis.com/auth/drive']
    SERVICE_ACCOUNT_FILE = 'serviceaccountsproject-81ec0d3c1c1c.json'

    credentials = service_account.Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes=SCOPES)
    credentials = credentials.with_subject('user@inYourDomain.com')

    service = build('drive', 'v3', credentials=credentials)

    result = service.about().get(fields="*").execute()
    result = result.get("storageQuota", {})
    print(result)

if __name__ == '__main__':
    main()

А вот и вывод:

{'usage': '0', 'usageInDrive': '0', 'usageInDriveTrash': '0'}


Ссылка:

...