代码拉取完成,页面将自动刷新
package work
import (
"encoding/json"
"fmt"
"gitee.com/h79/gothird/token"
"gitee.com/h79/gothird/weixin/consts"
"gitee.com/h79/gothird/weixin/response"
"gitee.com/h79/gothird/weixin/work/structs"
"gitee.com/h79/goutils/common/http"
)
// ImportBatchSYncUser 增量更新成员
// 请求方式:POST(HTTPS)
// 请求地址:https://qyapi.weixin.qq.com/cgi-bin/batch/syncuser?access_token=ACCESS_TOKEN
func ImportBatchSYncUser(api *token.Api, req *structs.ImportReq) (string, error) {
var url = fmt.Sprintf("%s/cgi-bin/batch/syncuser?", consts.WorkApiPrefixUrl)
return importInfo(api, url, req)
}
// ImportBatchReplaceUser 全量覆盖成员
// 请求方式:POST(HTTPS)
// 请求地址:https://qyapi.weixin.qq.com/cgi-bin/batch/replaceuser?access_token=ACCESS_TOKEN
func ImportBatchReplaceUser(api *token.Api, req *structs.ImportReq) (string, error) {
var url = fmt.Sprintf("%s/cgi-bin/batch/replaceuser?", consts.WorkApiPrefixUrl)
return importInfo(api, url, req)
}
// ImportBatchReplaceDepart 全量覆盖部门
// 请求方式:POST(HTTPS)
// 请求地址:https://qyapi.weixin.qq.com/cgi-bin/batch/replaceparty?access_token=ACCESS_TOKEN
func ImportBatchReplaceDepart(api *token.Api, req *structs.ImportReq) (string, error) {
var url = fmt.Sprintf("%s/cgi-bin/batch/replaceparty?", consts.WorkApiPrefixUrl)
return importInfo(api, url, req)
}
// ImportBatchResult 获取异步任务结果
// 请求方式:GET(HTTPS)
// 请求地址:https://qyapi.weixin.qq.com/cgi-bin/batch/getresult?access_token=ACCESS_TOKEN&jobid=JOBID
func ImportBatchResult(api *token.Api, jobId string) (*structs.ImportResult, error) {
var url = fmt.Sprintf("%s/cgi-bin/batch/getresult?jobid=%s&", consts.WorkApiPrefixUrl, jobId)
var res = struct {
response.Response
structs.ImportResult
}{}
if err := api.Request("GET", url, nil, func(hp *http.Http, body []byte) error {
if er := json.Unmarshal(body, &res); er != nil {
return er
}
return res.ReturnIf(api)
}); err != nil {
return nil, err
}
return &res.ImportResult, res.ErrorIf()
}
func importInfo(api *token.Api, url string, req interface{}) (string, error) {
buf, err := json.Marshal(req)
if err != nil {
return "", err
}
var res = struct {
response.Response
JobId string `json:"jobid"`
}{}
if err = api.Request("POST", url, buf, func(hp *http.Http, body []byte) error {
if er := json.Unmarshal(body, &res); er != nil {
return er
}
return res.ReturnIf(api)
}); err != nil {
return "", err
}
return res.JobId, res.ErrorIf()
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。