ALTER PROCEDURE [dbo].[sp_sendmessageding](@agentid varchar(20),@message NVARCHAR(4000), @Source NVARCHAR(255)='' OUTPUT, @Desc nvarchar(255)='' OUTPUT)
AS
BEGIN
DECLARE @token VARCHAR(100)
DECLARE @platform_key INT
SELECT @platform_key=platform_key FROM dbo.y_platform_agent WHERE agent_id=@agentid
EXEC sp_getdingtalk @platform_key=@platform_key,@token=@token OUTPUT
DECLARE @ResponseText VARCHAR(max) = ''
DECLARE @ServiceUrl AS VARCHAR(1000)
SET @ServiceUrl = N'https://oapi.dingtalk.com/message/send?access_token='+@token
DECLARE @Object AS INT ,
@status INT ,
@returnText AS VARCHAR(8000) ,
@HttpStatus VARCHAR(200) ,
@HttpMethod VARCHAR(20) = 'post'
EXEC @status = sp_OACreate 'Msxml2.ServerXMLHTTP.3.0', @Object OUT;
IF @status<>0
BEGIN
GOTO l
END
EXEC @status = sp_OAMethod @Object, 'open', NULL, @HttpMethod, @ServiceUrl, 'false'
IF @status<>0
BEGIN
GOTO l
END
EXEC @status = sys.sp_OAMethod @Object, 'setRequestHeader', NULL, 'Content-Type', 'application/json; charset=UTF-8'
IF @status<>0
BEGIN
GOTO l
END
EXEC @status = sp_OAMethod @Object, 'send', NULL, @message
IF @status<>0
BEGIN
GOTO l
END
EXEC @status = sys.sp_OAGetProperty @Object, 'Status', @HttpStatus OUT;
IF @status<>0
BEGIN
GOTO l
END
EXEC @status = sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT
EXEC @status = sp_OADestroy @Object
RETURN 0
l:
EXEC sp_OAGetErrorInfo @Object,@Source OUT,@Desc OUT
EXEC @status = sp_OADestroy @Object
RETURN -1
END
发送钉钉消息
猜你喜欢
转载自blog.csdn.net/mxbing1984/article/details/82530071
今日推荐
周排行