Ниже приведен мой код, который хорошо работает, если я выполняю код вручную через SSMS. Тем не менее при попытке выполнить через задание SQL Server не удается. Я использую SQL Server 2016.
Я попытался использовать синтаксис execute as user для базовых хранимых процедур
Exec @hr=sp_OACreate 'MSXML2.ServerXMLHTTP.6.0', @Object OUT;
IF @hr <> 0 EXEC sp_OAGetErrorInfo @Object
Exec @hr=sp_OAMethod @Object, 'open', NULL, 'get', @url, 'false'
IF @hr <> 0 EXEC sp_OAGetErrorInfo @Object
EXEC @hr=sp_OAMethod @Object, 'SetRequestHeader', NULL, 'X-API-TOKEN', 'SOME TOKEN'
IF @hr <> 0 EXEC sp_OAGetErrorInfo @Object
EXEC @hr=sp_OAMethod @Object, 'SetRequestHeader', NULL, 'Content-type', 'application/json'
IF @hr <> 0 EXEC sp_OAGetErrorInfo @Object
Exec @hr=sp_OAMethod @Object, 'send'
IF @hr <> 0 EXEC sp_OAGetErrorInfo @Object
Exec @hr=sp_OAMethod @Object, 'responseText', @json OUT