diff --git a/lib/management/udf_management_client.go b/lib/management/udf_management_client.go index a52095b..355cb7e 100644 --- a/lib/management/udf_management_client.go +++ b/lib/management/udf_management_client.go @@ -1,6 +1,7 @@ package management import ( + "encoding/json" "errors" "github.com/Authing/authing-go-sdk/lib/constant" "github.com/Authing/authing-go-sdk/lib/model" @@ -111,7 +112,13 @@ func (c *Client) SetUdvBatch(id string, targetType model.EnumUDFTargetType, udv variables["targetType"] = targetType variables["targetId"] = id - variables["udvList"] = udv + var reqUdv []model.KeyValuePair + for _, v := range *udv { + v1, _ := json.Marshal(&v.Value) + v.Value = string(v1) + reqUdv = append(reqUdv, v) + } + variables["udvList"] = reqUdv b, err := c.SendHttpRequest(c.Host+constant.CoreAuthingGraphqlPath, http.MethodPost, constant.SetRoleUdfValueDocument, variables) if err != nil { diff --git a/lib/management/udf_management_client_test.go b/lib/management/udf_management_client_test.go index b695fd7..40f529d 100644 --- a/lib/management/udf_management_client_test.go +++ b/lib/management/udf_management_client_test.go @@ -59,8 +59,9 @@ func TestClient_SetUdvBatch(t *testing.T) { client := NewClient(userPoolId, appSecret) log.Println("==========某对象自定义字段列表==========") - resp, err := client.SetUdvBatch("616d41b7410a33da0cb70e65", model.EnumUDFTargetTypeUSER, &[]model.KeyValuePair{ - {Key: "goSDK", Value: "goSDK"}, + resp, err := client.SetUdvBatch("61bc4f2e083e0e9b1634e1f0", model.EnumUDFTargetTypeUSER, &[]model.KeyValuePair{ + {Key: "school", Value: "sss111"}, + {Key: "student", Value: false}, }) if err != nil { fmt.Println(err) diff --git a/lib/management/user_management_client_test.go b/lib/management/user_management_client_test.go index 9bd5045..578de15 100644 --- a/lib/management/user_management_client_test.go +++ b/lib/management/user_management_client_test.go @@ -329,10 +329,10 @@ func TestClient_SetUserUdfValue(t *testing.T) { client := NewClient(userPoolId, appSecret) log.Println("==========批量查询用户自定义字段==========") udv := model.KeyValuePair{ - Key: "runCount", - Value: 23, + Key: "school", + Value: "sss1", } - resp, err := client.SetUserUdfValue("621dcbede60e7b7eda97d82a", &udv) + resp, err := client.SetUserUdfValue("61bc4f2e083e0e9b1634e1f0", &udv) log.Println(resp) log.Println(err) }