Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mixpanel-批量删除旧用户_Mixpanel - Fatal编程技术网

Mixpanel-批量删除旧用户

Mixpanel-批量删除旧用户,mixpanel,Mixpanel,我将进入mixpanel的下一个计划,因为有太多的人,我想先删除一些老用户 有没有一种简单的方法/script/api来批量删除旧用户?有。查看下面的示例,您将发现以下内容 $delete 字符串从Mixpanel中永久删除配置文件以及所有 它的性质。忽略该值-配置文件由 $distinct_id与请求本身不同 批量请求 位于的事件端点和位于的配置文件更新端点都接受批处理更新。要向端点发送一批消息,应该使用POST而不是GET请求。与其发送单个JSON对象作为数据查询参数,不如发送一个对象的JS

我将进入mixpanel的下一个计划,因为有太多的人,我想先删除一些老用户


有没有一种简单的方法/script/api来批量删除旧用户?

有。查看下面的示例,您将发现以下内容

$delete

字符串从Mixpanel中永久删除配置文件以及所有 它的性质。忽略该值-配置文件由 $distinct_id与请求本身不同

批量请求

位于的事件端点和位于的配置文件更新端点都接受批处理更新。要向端点发送一批消息,应该使用POST而不是GET请求。与其发送单个JSON对象作为数据查询参数,不如发送一个对象的JSON列表,base64编码,作为application/x-www-form-urlencoded POST请求主体的数据参数

// Here's a list of events
[
    {
        "event": "Signed Up",
        "properties": {
            "distinct_id": "13793",
            "token": "e3bc4100330c35722740fb8c6f5abddc",
            "Referred By": "Friend",
            "time": 1371002000
        }
    },
    {
         "event": "Uploaded Photo",
          "properties": {
              "distinct_id": "13793",
              "token": "e3bc4100330c35722740fb8c6f5abddc",
              "Topic": "Vacation",
              "time": 1371002104
          }
    }
]
Base64编码后,列表变为:

Ww0KICAgIHsNCiAgICAgICAgImV2ZW50IjogIlNpZ25lZCBVcCIsDQogICAgICAgICJwcm9wZXJ0aWVzIjogew0KICAgICAgICAgICAgImRpc3RpbmN0X2lkIjogIjEzNzkzIiwNCiAgICAgICAgICAgICJ0b2tlbiI6ICJlM2JjNDEwMDMzMGMzNTcyMjc0MGZiOGM2ZjVhYmRkYyIsDQogICAgICAgICAgICAiUmVmZXJyZWQgQnkiOiAiRnJpZW5kIiwNCiAgICAgICAgICAgICJ0aW1lIjogMTM3MTAwMjAwMA0KICAgICAgICB9DQogICAgfSwNCiAgICB7DQogICAgICAgICAiZXZlbnQiOiAiVXBsb2FkZWQgUGhvdG8iLA0KICAgICAgICAgICJwcm9wZXJ0aWVzIjogew0KICAgICAgICAgICAgICAiZGlzdGluY3RfaWQiOiAiMTM3OTMiLA0KICAgICAgICAgICAgICAidG9rZW4iOiAiZTNiYzQxMDAzMzBjMzU3MjI3NDBmYjhjNmY1YWJkZGMiLA0KICAgICAgICAgICAgICAiVG9waWMiOiAiVmFjYXRpb24iLA0KICAgICAgICAgICAgICAidGltZSI6IDEzNzEwMDIxMDQNCiAgICAgICAgICB9DQogICAgfQ0KXQ==
因此,将事件作为批发送的POST请求的主体是:

data=Ww0KICAgIHsNCiAgICAgICAgImV2ZW50IjogIlNpZ25lZCBVcCIsDQogICAgICAgICJwcm9wZXJ0aWVzIjogew0KICAgICAgICAgICAgImRpc3RpbmN0X2lkIjogIjEzNzkzIiwNCiAgICAgICAgICAgICJ0b2tlbiI6ICJlM2JjNDEwMDMzMGMzNTcyMjc0MGZiOGM2ZjVhYmRkYyIsDQogICAgICAgICAgICAiUmVmZXJyZWQgQnkiOiAiRnJpZW5kIiwNCiAgICAgICAgICAgICJ0aW1lIjogMTM3MTAwMjAwMA0KICAgICAgICB9DQogICAgfSwNCiAgICB7DQogICAgICAgICAiZXZlbnQiOiAiVXBsb2FkZWQgUGhvdG8iLA0KICAgICAgICAgICJwcm9wZXJ0aWVzIjogew0KICAgICAgICAgICAgICAiZGlzdGluY3RfaWQiOiAiMTM3OTMiLA0KICAgICAgICAgICAgICAidG9rZW4iOiAiZTNiYzQxMDAzMzBjMzU3MjI3NDBmYjhjNmY1YWJkZGMiLA0KICAgICAgICAgICAgICAiVG9waWMiOiAiVmFjYXRpb24iLA0KICAgICAgICAgICAgICAidGltZSI6IDEzNzEwMDIxMDQNCiAgICAgICAgICB9DQogICAgfQ0KXQ==

两个端点在一个批处理中最多可接受50条消息。通常,批处理请求将有一个与事件相关联的“time”属性,或一个与概要文件更新相关联的“$time”属性。

我已经编写了两个脚本,可能会派上用场;和

使用第一个脚本(查询),您可以查询您的人员数据并获得配置文件列表,例如,将$last_seen设置为早于X个月的日期的所有用户

使用第二个脚本(post),您可以对这些配置文件执行批操作,例如删除它们。请参阅自述文件以了解。

使用

此脚本将删除自2019年1月1日以来未看到的任何配置文件:

from mixpanel_api import Mixpanel

mixpanel = Mixpanel('MIXPANEL_SECRET', token='MIXPANEL_TOKEN')

deleted_count = mixpanel.people_delete(query_params={ 'selector' : 'user["$last_seen"]<"2019-01-01T00:00:00"'})
print(deleted_count)
从mixpanel\u api导入mixpanel
mixpanel=mixpanel('mixpanel\u SECRET',token='mixpanel\u token')

deleted_count=mixpanel.people_delete(查询参数={'selector':'user[“$last_seen”]安装mixpanel Python API()

创建一个python文件:删除_people.py并复制和粘贴下面的代码,并根据您的项目配置执行更改,即secret、token、filter params等

from mixpanel_api import Mixpanel
from datetime import datetime
now = datetime.now()
current_time = now.strftime("%Y_%m_%d_%H_%M_%S")
if __name__ == '__main__':
    #Mixpanel Project :     
    credentials = {
    'API_secret': '<Your API Secret>',
    'token': '<Your API Token>',
    }
    # first we are going to make a Mixpanel object instance
    mlive = Mixpanel(credentials['API_secret'])

    # Mixpanel object with token to delete people
    ilive = Mixpanel(credentials['API_secret'],credentials['token'])

    #Prepare parameters for delete condition
    #<filter_by_cohort_here> - Get from mixpanel explore UI, from engage api xhr call (https://mixpanel.com/api/2.0/engage)
    parameters = {'filter_by_cohort':'<filter_by_cohort_here>','include_all_users':'true','limit':0}

    # Backup data before deleting
    print("\n Creating backup of data\n")
    mlive.export_people('backup_people_'+current_time+'.json', parameters)

    # Delete people using parameters filter
    print("\n Backup Completed! Deleting Data\n")
    ilive.people_delete(query_params=parameters)

    print("\n Data Deleted Successfully\n")
注意:mixpanel api的people_delete方法将自动在放置此脚本的同一目录中创建backup_timestamp.json文件

from mixpanel_api import Mixpanel

mixpanel = Mixpanel('MIXPANEL_SECRET', token='MIXPANEL_TOKEN')

deleted_count = mixpanel.people_delete(query_params={ 'selector' : 'user["$last_seen"]<"2019-01-01T00:00:00"'})
print(deleted_count)
pip install mixpanel-api 
from mixpanel_api import Mixpanel
from datetime import datetime
now = datetime.now()
current_time = now.strftime("%Y_%m_%d_%H_%M_%S")
if __name__ == '__main__':
    #Mixpanel Project :     
    credentials = {
    'API_secret': '<Your API Secret>',
    'token': '<Your API Token>',
    }
    # first we are going to make a Mixpanel object instance
    mlive = Mixpanel(credentials['API_secret'])

    # Mixpanel object with token to delete people
    ilive = Mixpanel(credentials['API_secret'],credentials['token'])

    #Prepare parameters for delete condition
    #<filter_by_cohort_here> - Get from mixpanel explore UI, from engage api xhr call (https://mixpanel.com/api/2.0/engage)
    parameters = {'filter_by_cohort':'<filter_by_cohort_here>','include_all_users':'true','limit':0}

    # Backup data before deleting
    print("\n Creating backup of data\n")
    mlive.export_people('backup_people_'+current_time+'.json', parameters)

    # Delete people using parameters filter
    print("\n Backup Completed! Deleting Data\n")
    ilive.people_delete(query_params=parameters)

    print("\n Data Deleted Successfully\n")
python delete_people.py