登录用户变量上传
为防止误传和恶意攻击, GrowingIO 服务器会对收到的每条数据做校验,因此需要在查询参数中提供校验码。
校验码生成代码见下方示例,其中 keyArray 为 loginUserId,一次性上传多条时,使用逗号隔开,如接口定义示例中,第一条 keyArray 为
1234
,第二条为 1234,1235
。java
/**
* projectKeyId: 项目ID
* secretKey: 项目私钥
* keyArray: loginUserId用逗号拼接的字符串
*/
javapublic String authToken(String projectKeyId, String secretKey, String keyArray) throws Exception {
String message = "ai="+projectKeyId+"&loginUserId="+keyArray;
Mac hmac = Mac.getInstance("HmacSHA256");
hmac.init(new SecretKeySpec(secretKey.getBytes("UTF-8"), "HmacSHA256"));
byte[] signature = hmac.doFinal(message.getBytes("UTF-8"));
return Hex.encodeHexString(signature);
}
Scala
/**
* projectKeyId: 项目ID
* secretKey: 项目私钥
* keyArray: loginUserId用逗号拼接的字符串
*/
def authToken(projectKeyId: String, secretKey: String, keyArray: String): String = {
val message = s"ai=$projectKeyId&loginUserId=$keyArray"
val hmac: Mac = Mac.getInstance("HmacSHA256")
hmac.init(new SecretKeySpec(secretKey.getBytes("UTF-8"), "HmacSHA256"))
val signature = hmac.doFinal(message.getBytes("UTF-8"))
Hex.encodeHexString(signature)
}
python
/**
* projectKeyId: 项目ID
* secretKey: 项目私钥
* keyArray: loginUserId用逗号拼接的字符串
*/
#coding:utf-8
import hashlib
import hmac
def authToken(projectKeyId,secretKey,keyArray):
message = ("ai=" + projectKeyId + "&loginUserId=" + keyArray).encode('utf-8')
signature = hmac.new(bytes(secretKey.encode('utf-8')), bytes(message), digestmod=hashlib.sha256).hexdigest()
return signature
php
/**
* projectKeyId: 项目ID
* secretKey: 项目私钥
* keyArray: loginUserId用逗号拼接的字符串
*/
function authToken($projectKeyId, $secretKey, $keyArray)
{
$message="ai=".$projectKeyId."&loginUserId=".$keyArray;
return hash_hmac('sha256',$message, $secretKey, false);
}
https://data.growingio.com/{ai}/loginUserId
POST
请求参数
body示例
请求头参数 | 类型 | 是否必传 | 说明 |
Access-Token | string | 是 | Public Key,项目公钥 |
Content-Type | string | 是 | application/json |
查询参数 | 类型 | 是否必传 | 说明 |
auth | string | 是 | 认证码,针对每条数据独立生成的认证。使用独立的认证码,详细见本页获取认证码。 |
body参数 | 类型 | 是否必传 | 说明 |
loginUserId | string | 是 | 登录用户ID。 |
userProperty1 | string | 否 | 在GrowingIO系统内定义的用户属性(如gender),长度不超过255个字符。 |
userproperty2 | string | 否 | 在GrowingIO系统内定义的用户属性(如user_name),长度不超过255个字符。 |
body内的userProperty1-N为您在GrowingIO系统内定义的用户属性的key,如gender、user_name等。支持使用数组的方式一次上传多条数据(建议单次上报条数小于100条),body大小的最大限制为2M。
- 一次上传一条:
{
"loginUserId":"1234",
"user_name":"张三",
"gender":"男"
}
- 一次上传多条
[
{
"loginUserId":"1234",
"user_name":"张三",
"gender":"男"
},
{
"loginUserId":"1235",
"user_name":"李四",
"gender":"女"
}
]
最近更新 2mo ago