Ошибка Python GCP: «У пользователя недостаточно прав для этого файла» при создании teamdrive - PullRequest
0 голосов
/ 09 мая 2019

Я пытаюсь создать командный диск с помощью API-интерфейса google drive после миграции коллекции teamdrives на диски. но у меня была ошибка разрешения.

@endpoints.method(
    TEAM_DRIVE_RESOURCE,
    TeamDriveMessage,
    path='create',
    http_method='POST',
    name='create')
def create_team_drive(self, request):
    try:
        logger = logging.getLogger()
        team_drive_service = Services().get_team_drive_service()
        request_id = str(uuid.uuid4())
        response_team_drive = team_drive_service.drives().create(
            body={"name": request.customerName + " | " + request.appName,
                  }, requestId=request_id).execute()
        logger.info(response_team_drive)
    except HttpError as error:
        if error.resp.status < 500:
            raise endpoints.BadRequestException(error._get_reason())
        raise endpoints.InternalServerErrorException(error._get_reason())
    return TeamDriveMessage(teamDriveId=response_team_drive.id)

вот код получения услуги командного диска

@staticmethod
def get_team_drive_service():
    credentials = ServiceAccountCredentials.from_json_keyfile_name(
        SERVICE_ACCOUNT_FILE,
        scopes=['https://www.googleapis.com/auth/drive', 'https://www.googleapis.com/auth/drive.file', 'https://www.googleapis.com/auth/drive.appdata', 'https://www.googleapis.com/auth/drive.apps.readonly'])
    team_drive_service = googleapiclient.discovery.build('drive', 'v3', credentials=credentials)
    return team_drive_service

сообщение об ошибке:

{ "ошибка": { «код»: 400, "ошибки": [ { "домен": "глобальный", "message": "У пользователя недостаточно прав для этого файла.", "причина": "плохой запрос" } ], "message": "У пользователя недостаточно прав для этого файла." } }

разрешения, назначенные службе учетной записи

...