如何将授权头从SQL Server传递到API以获取JSON?
我正在尝试使用SQLServer2016从API获取JSON数据。我能够在API不需要用户凭据的情况下获取数据,但是如果我需要提供用户名和密码,则无法获取数据如何将授权头从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(
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中工作。