Infinario Python开发包

infinario的Python项目详细描述


infinario python sdk
=====


…图片::https://travis ci.org/infinario/python sdk.svg
:target:https://travis ci.org/infinario/python sdk
:alt:travis ci

"infinario.infinario"类提供对infinario python跟踪api的访问,
同时支持同步和异步模式。

例如:

…代码块::python


from infinario import infinario


client=infinario('12345678-90ab-cdef-1234-567890abcdef')\production environment
\client=infinario('12345678-90ab-cdef-1234-567890abcdef',silent=false)开发环境

我们建议在开发环境中将"silent"参数设置为"false",因为它会导致infinario api在出现错误时抛出异常。当保留默认值"true"时,将记录所有错误
(另请参阅"logger"参数)。



您需要使用infinario project secret(在概览屏幕中找到)作为"secret"关键字参数初始化客户机。代码块::python

client=infinario('12345678-90ab-cdef-1234-567890abcdef',
secret='fedcba09-8765-4321-fedc-ba0987654321')



生成
它们。这可以在调用客户机的
构造函数时正确完成。代码块::python

python
client=infinario('12345678-90AB-CDEF-1234-567890ABCDEF',customer='john123')


或者通过调用'identify'。

代码块::python



tracking events
----


要跟踪当前选定客户的事件,只需调用"track"方法即可。代码块::python



您还可以指定一个事件属性字典,将
与事件一起存储。代码块::python



代码块::python

timestamp=time.time()

时间流逝..

client.track('purchase',timestamp=timestamp)


代码块::python

client.update({'first_name':'john','last_name':'smith'})


代码块::python

client.get_html('banner left')


将返回::

<;img src="/my-awesome-banner-1.png"/>;'



analysis export
----

使用"export_analysis"客户机方法。
在客户机初始化期间需要进行身份验证(见上文)。
第一个参数是分析类型(漏斗、报告、保留、分段)。第二个参数是json object
,它至少包含要导出的分析的id。
可选参数包括format`(format`(native-json`(默认值)、`table-json`、`csv`)、
`time zone`(根据iana时区数据库,默认值为'utc`)
`(Unix时间戳指定要包含的事件的上限,默认为现在)。

…代码块::python

client=infinario('12345678-90ab-cdef-1234-567890abcdef',
secret='fedcba09-8765-4321-fedc-ba0987654321')


data=client.export撸analysis('funnel',{
'analysis撸id':'2f86608f-24f5-11e3-9950-c48494cf5',
'format':'native json',
'时区':'utc',
})


代码块::python

{
"success":true,
"name":"转换漏斗",
"steps":["first visit","registration","first log in","purchase","payment"],
"total":{
"counts":[48632,24120,20398,1256,1250],
"times":[-16804502 45 540300],
"metric":1987562
},
"drill-down":{
"type":"none",
"series":[]
},
"metric":{
"step":4,
"property":"price"
}
}



分段结果
---------


您还可以导出特定客户的分段结果
(您需要在初始化时指定该客户,或使用"identify"方法指定该客户)。
在客户端初始化期间进行身份验证所必需的(见上文)。

…代码块::python

client=infinario('12345678-90ab-cdef-1234-567890abcdef',
secret='fedcba09-8765-4321-fedc-ba0987654321',
customer='john123')

segment=client.segment_for('11112222-3333-4444-5555-6677888',
timezone=utc,timeout=0.5)

如果客户不属于任何
定义的段,或者在给定的超时时间内无法确定其段,该方法将返回"none"。
"timezone"和"timeout"参数是可选的,默认值如示例所示。



transport types
----


默认情况下,客户端使用简单的非缓冲同步传输。三种可用的传输类型是:
*`nulltransport`-无请求,对于在infinario构造函数中禁用跟踪很有用。
*`synchronoustransport`(默认值)大多数操作在请求infinario api时都是阻塞的
*`asynchronoustransport`-大多数操作都是非阻塞的(有关详细信息,请参阅代码)、
buffered和使用单个工作线程。当不再跟踪数据时,必须关闭Infinario客户端。
**我们建议不要使用异步传输,因为无法保证数据将被发送。**
例如,在各种系统故障事件中,甚至由于误用,都可能发生数据丢失。
要异步跟踪代码中的数据,请考虑使用库(如芹菜)创建自己的异步工作进程,并使用synchronoustransport从中发送数据。

代码块::python


transport=asynchronoustransport)

代码块:sh

token='12345678-90ab-cdef-1234-567890abcdef'
customer='john123'

"$token""$customer"first_name=john last_name=smith

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Eclipse内存分析器(MAT):不显示当前正在运行的进程   java Apache Velocity:转义字符不能作为关联数组键用于PHP   不截断零的java格式十进制输出   在另一个类文件中调用时返回空值的java getter   java集合获取连接   java解析json使用Gson登录系统应用程序强制关闭   java DelferredResult带有两个请求的ajax请求   java可降低功耗,同时应使用无线   java BoxLayout无法共享错误?   java如何使用计时器制作闹钟   java使用OAuth2保护RESTWeb服务:一般原则   java在一个jframe上显示多个图像和按钮