Commit 7d365da0 by changjin.pan

企微 获取访客身份

parent 5ef3e985
......@@ -393,5 +393,30 @@ namespace Siger.WeComApi.Biz.service
}
public string GetUserInfo(string code)
{
WeComThirdHelper weComThirdHelper = new WeComThirdHelper();
JObject postJson = new JObject();
postJson["suite_access_token"] = GetSuiteToken();
postJson["code"] = code;
if (string.IsNullOrEmpty(postJson["suite_access_token"].ToString()))
{
string errorMsg = "获取suite_access_token失败";
_logger.Info(errorMsg);
throw new Exception(errorMsg);
}
var posdata = JsonConvert.SerializeObject(postJson);
var userinfo3rdUrl = weComThirdHelper.GetUserinfo3rdUrl() + "?suite_access_token=" + GetSuiteToken() + "&code=" + code;
string response = weComThirdHelper.post(userinfo3rdUrl, null);
JObject userInfoJson = (JObject)JsonConvert.DeserializeObject(response);
if (userInfoJson["errcode"] != null)
{
string errorMsg = string.Format("获取访客身份失败:errcode{0},errmsg{1}", userInfoJson["errcode"], userInfoJson["errmsg"]);
_logger.Info(errorMsg);
throw new Exception(errorMsg);
}
return JsonConvert.SerializeObject(userInfoJson);
}
}
}
......@@ -22,7 +22,7 @@ namespace Siger.ApiTPM.Utilities
private readonly string SuiteID = "wwb172cebe81bae0af";
private readonly string SuiteSecret = "aHB2yPhKX8AsRp-c_8UBrhOju7ahxu8Rq3LLuRVrRo8";
//基础地址
private static string baseUrl = "https://qyapi.weixin.qq.com/cgi-bin/";
//服务商相关
private static string serviceUrl = baseUrl + "service/";
......@@ -36,21 +36,19 @@ namespace Siger.ApiTPM.Utilities
private string registerCodeUrl = serviceUrl + "get_register_code?provider_access_token=%s";
private string registerUrl = "https://open.work.weixin.qq.com/3rdservice/wework/register?register_code=%s";
private string ssoAuthUrl = "https://open.work.weixin.qq.com/wwopen/sso/3rd_qrConnect?appid=%s&redirect_uri=%s&state=%s&usertype=%s";
private string loginInfoUrl = serviceUrl + "get_login_info?access_token=%s";
//第三方应用身份验证
private string getuserinfo3rdUrl = serviceUrl + "getuserinfo3rd";
//通讯录转译
private string contactUploadUrl = serviceUrl + "media/upload?provider_access_token=%s&type=%s";
private string contactTransUrl = serviceUrl + "contact/id_translate?provider_access_token=%s";
private string transResultUrl = serviceUrl + "batch/getresult?provider_access_token=%s&jobid=%s";
//公司相关
private string corpTokenUrl = serviceUrl + "get_corp_token?suite_access_token=%s";
private string departmentUrl = baseUrl + "department/list?access_token=%s";
private string userSimplelistUrl = baseUrl + "user/simplelist?access_token=%s&department_id=%s&fetch_child=%s";
private string userDetailUrl = baseUrl + "user/get?access_token={access_token}&userid={user_id}";
//外部联系人
//获取配置了客户联系功能的成员列表 https://work.weixin.qq.com/api/doc/90001/90143/92576
......@@ -59,10 +57,8 @@ namespace Siger.ApiTPM.Utilities
private string extContactListUrl = baseUrl + "externalcontact/list?access_token=%s&userid=%s";
//获取客户群列表 https://work.weixin.qq.com/api/doc/90001/90143/93414
private string extContactGroupchatUrl = baseUrl + "externalcontact/groupchat/list?access_token=%s";
//消息推送
private string messageSendUrl = baseUrl + "message/send?access_token=%s";
//素材管理
//https://open.work.weixin.qq.com/api/doc/90001/90143/90389
//type 是 媒体文件类型,分别有图片(image)、语音(voice)、视频(video),普通文件(file)
......@@ -70,14 +66,12 @@ namespace Siger.ApiTPM.Utilities
private string mediaUploadimgUrl = baseUrl + "media/uploadimg?access_token=%s";
private string mediaGetUrl = baseUrl + "media/get?access_token=%s&media_id=%s";
private string mediaGetJssdkUrl = baseUrl + "media/get/jssdk?access_token=%s&media_id=%s";
//审批
//审批应用 https://work.weixin.qq.com/api/doc/90001/90143/91956
private string oaCopyTemplateUrl = "oa/approval/copytemplate?access_token=%s";
private string oaGetTemplateUrl = "/oa/gettemplatedetail?access_token=%s";
private string oaApplyEventUrl = "oa/applyevent?access_token=%s";
private string oaGetApprovalUrl = "oa/getapprovaldetail?access_token=%s";
//审批流程引擎 https://work.weixin.qq.com/api/doc/90001/90143/93798
private string openApprovalDataUrl = baseUrl + "corp/getopenapprovaldata?access_token=ACCESS_TOKEN";
......@@ -139,7 +133,10 @@ namespace Siger.ApiTPM.Utilities
return suiteTokenUrl;
}
public string GetUserinfo3rdUrl()
{
return getuserinfo3rdUrl;
}
public string post(string posturl, JObject json)
{
......
......@@ -13,5 +13,7 @@ namespace Siger.WeComApi.Core.Biz
string InstructCallback(HttpRequest request);
string GetUserInfo(string code);
}
}
......@@ -54,22 +54,5 @@ namespace Siger.ApiTPM.Controllers
return Content(result);
}
/// <summary>
/// 指令响应回调
/// </summary>
/// <returns></returns>
[NoTokenValidateFilter]
public ActionResult InstructPost()
{
try
{
}
catch (Exception ex)
{
_logger.Info("企微指令回调异常:" + ex.Message);
}
return Content("fail");
}
}
}
using Microsoft.AspNetCore.Mvc;
using Senparc.Weixin.Work.Tencent;
using Microsoft.AspNetCore.Http;
using Siger.CommonUtil.Logging;
using System;
using Siger.WeComApi.WebApi.Controllers;
using Siger.WeComApi.Core.Biz;
using Siger.WeComApi.Common.Filter;
using Siger.WeComApi.Common.CommonModels;
using Siger.WeComApi.Common.Enums;
namespace Siger.ApiTPM.Controllers
{
public class UserController : BaseController
{
private readonly ISigerLogger<UserController> _logger;
private readonly ISigerWeComThirdService _sigerWeComThirdService;
public UserController(ISigerLogger<UserController> logger, ISigerWeComThirdService sigerWeComThirdService)
{
this._logger = logger;
this._sigerWeComThirdService = sigerWeComThirdService;
}
/// <summary>
/// 获取访客身份信息
/// </summary>
/// <returns></returns>
[NoTokenValidateFilter]
public ResponseBase GetUserInfo(string code)
{
string result = "success";
try
{
string userInfo = _sigerWeComThirdService.GetUserInfo(code);
return new ResponseBase(1, 1, userInfo);
}
catch (Exception ex)
{
result = "企微回调异常:" + ex.Message;
return new ResponseBase(1, 1, result);
}
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment