Slack API MSXML2.ServerXMLHttp T- SQL Не удается отправить сообщение через - PullRequest
0 голосов
/ 07 августа 2020

Я пытаюсь отправить сообщение на слабый канал из SQL хранимой процедуры Server 2008.

DECLARE @obj INT
DECLARE @url varchar (200)
DECLARE @resp varchar (200)
DECLARE @str as varchar(200)
DECLARE @token as varchar(200)
    
SET @str = 'channel=U015WQQ75RB&text=TestTestTest'
SET @url = 'https://slack.com/api/chat.postMessage'
SET @token = 'Bearer xoxb-MY-TOKEN-HERE'

EXEC sp_OACreate 'MSXML2.ServerXMLHttp', @obj OUT
EXEC sp_OAMethod @obj,'open',NULL,'POST',@url, false
EXEC sp_OAMethod @obj,'setRequestHeader', NULL, 'Authorization' ,@token
EXEC sp_OAMethod @obj,'setRequestHeader', NULL, 'Content-Type', 'application/x-www-form-urlencoded'
EXEC sp_OAMethod @obj, 'send', NULL, @str
EXEC sp_OAGetProperty @obj, 'ok', @resp out

print @resp

EXEC sp_OADestroy @obj

Может ли кто-нибудь указать мне, что я здесь делаю неправильно? Я боролся с этим в течение 3 дней.

Я пробовал отладку с помощью requestbin, и все параметры и заголовки отправляются с сервера SQL на веб-сервис. Но когда я использую Slack API, я не получаю ответа от Slack API. Нет ошибки. Ничего.

Если я вызываю этот URL из браузера, сообщение будет отправлено. https://slack.com/api/chat.postMessage?token=xoxb-my-token&channel=U015WQQ75RB&text=TestTestTest

На мой взгляд, я не могу отправить параметры в правильном формате.

...