如何将授权头从SQL Server传递到API以获取JSON?

如何将授权头从SQL Server传递到API以获取JSON?,json,sql-server,api,tsql,authorization,Json,Sql Server,Api,Tsql,Authorization,我正在尝试使用SQLServer2016从API获取JSON数据。我能够在API不需要用户凭据的情况下获取数据,但是如果我需要提供用户名和密码,则无法获取数据 DECLARE @authHeader VARCHAR(8000); DECLARE @contentType VARCHAR(8000); DECLARE @postData VARCHAR(8000); DECLARE @responseText VARCHAR(8000); DECLARE @responseXML VARCHAR(

我正在尝试使用SQLServer2016从API获取JSON数据。我能够在API不需要用户凭据的情况下获取数据,但是如果我需要提供用户名和密码,则无法获取数据

DECLARE @authHeader VARCHAR(8000);
DECLARE @contentType VARCHAR(8000);
DECLARE @postData VARCHAR(8000);
DECLARE @responseText VARCHAR(8000);
DECLARE @responseXML VARCHAR(8000);
DECLARE @ret INT;
DECLARE @status VARCHAR(8000);
DECLARE @statusText VARCHAR(8000);
DECLARE @token INT;
DECLARE @url VARCHAR(8000);
DECLARE @JSON VARCHAR(8000);

SET @authHeader = 'BASIC QWERTYASDFGH1234567890123456789==';
SET @contentType = 'application/json';
SET @url = 'https://example.example.com/api/product-list?area=12345&fromMonth=201811&toMonth=201812'

-- Open the connection.
EXEC @ret = sp_OACreate 'MSXML2.ServerXMLHTTP', @token OUT;
IF @ret <> 0 RAISERROR('Unable to open HTTP connection.', 10, 1);


-- Send the request.

EXEC @ret = sp_OAMethod @token, 'Open', null, 'GET', @Url, 'false'
EXEC @ret = sp_OAMethod @token, 'setRequestHeader', NULL, 'Authorization', @authHeader;
EXEC @ret = sp_OAMethod @token, 'setRequestHeader', NULL, 'Content-type', @contentType;

EXEC sp_OAMethod @token, 'send', null
EXEC sp_OAMethod @token, 'responseText', @ResponseText OUTPUT

SET @JSON = @ResponseText
SELECT @JSON 

有人知道如何正确地从SQL Server传递授权标头吗?

您是否与邮递员检查了相同的请求?用完全相同的标题

通常,授权标头需要以关键字Bearer作为前缀

"Authorization": "Bearer yourTokenHere"

你能用这个前缀试试吗?

同样的请求加上完全相同的标题在邮递员中也可以。我正在努力使它在SQL Server中工作。