Python получить список всех пользователей в объекте, который не приведет к ошибке - PullRequest
0 голосов
/ 21 февраля 2020

Я попытаюсь объяснить это как можно проще.

У меня есть объект Google Analytics с именем analytics из функции initialise_analytics_reporting.

Используя этот объект, я получаю данные для определенного пользователя c, использующего функцию get_UserActivity:

def get_UserActivity:
    return analytics.userActivity().search(
                body={
                    "viewId": VIEW_ID,
                    "user": {
                        "type": "USER_ID",
                        "userId": user_id
                    },
                    "dateRange": {
                        "startDate": time,
                        "endDate": "yesterday"
                    },
                    "activityTypes": [
                        "PAGEVIEW", "EVENT"
                    ]
                }
            ).execute()

Я перебираю список user_id. Если user_id действительно имеет данные, будут выполнены определенные операции (что работает хорошо). Если user_id не имеет данных, он все равно загружается и приводит к ошибке (что нормально, но занимает очень много времени).

Проблема, с которой я столкнулся - это бит загрузки для пользователя без данных, он занимает слишком много времени при просмотре очень длинного списка пользователей для проверки.

Есть ли какой-нибудь способ, которым я могу определить перед запуском get_UserActivity, есть ли у пользователя данные или нет? Или, может быть, даже в пределах get_UserActivity, если можно избежать всего процесса загрузки, приводящего к ошибке.

(Другими словами, есть ли способ получить список всех пользователей в пределах объекта, который будет иметь данные и выполнять только их итерацию вместо проверки наличия данных у каждого пользователя)

...