Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
WeComApi
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
changjin.pan
WeComApi
Commits
7d365da0
Commit
7d365da0
authored
May 16, 2022
by
changjin.pan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
企微 获取访客身份
parent
5ef3e985
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
80 additions
and
27 deletions
+80
-27
SigerWeComThirdService.cs
src/Siger.WeComApi.Biz/service/SigerWeComThirdService.cs
+25
-0
WeComThirdHelper.cs
src/Siger.WeComApi.Common/Helpers/WeComThirdHelper.cs
+7
-10
ISigerWeComThirdService.cs
src/Siger.WeComApi.Core/Biz/ISigerWeComThirdService.cs
+2
-0
CallbackController.cs
src/Siger.WeComApi.WebApi/Controllers/CallbackController.cs
+0
-17
UserController.cs
src/Siger.WeComApi.WebApi/Controllers/UserController.cs
+46
-0
No files found.
src/Siger.WeComApi.Biz/service/SigerWeComThirdService.cs
View file @
7d365da0
...
...
@@ -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
);
}
}
}
src/Siger.WeComApi.Common/Helpers/WeComThirdHelper.cs
View file @
7d365da0
...
...
@@ -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
)
{
...
...
src/Siger.WeComApi.Core/Biz/ISigerWeComThirdService.cs
View file @
7d365da0
...
...
@@ -13,5 +13,7 @@ namespace Siger.WeComApi.Core.Biz
string
InstructCallback
(
HttpRequest
request
);
string
GetUserInfo
(
string
code
);
}
}
src/Siger.WeComApi.WebApi/Controllers/CallbackController.cs
View file @
7d365da0
...
...
@@ -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"
);
}
}
}
src/Siger.WeComApi.WebApi/Controllers/UserController.cs
0 → 100644
View file @
7d365da0
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
);
}
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment