Я пытаюсь отправить сообщение на слабый канал из 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
На мой взгляд, я не могу отправить параметры в правильном формате.