es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

SQL Server – Llamar a la API de Binance con encabezado de clave de API

Quiero obtener la información de mi cuenta de Binance mediante la llamada a la API a través de SQL Server. Pero no puedo averiguar cómo enviar la clave de la API con el formato adecuado. ¿Es posible? ¿Cómo debo enviar la clave de la API con la solicitud GET?

Error: {“code”: -2014, “msg”: “Formato de clave API no válido.”}

Aquí está mi SQL a continuación;

DECLARE @Object AS INT;
DECLARE @ResponseT AS VARCHAR(max);
DECLARE @Response AS TABLE(Json_Table NVARCHAR(MAX))

DECLARE @Signature NVARCHAR(255) = ‘XXXXXXXXXXXXXXXXXXXXXX’
DECLARE @Timestamp_Value NVARCHAR(255) = ‘163818122343’

DECLARE @Url NVARCHAR(1000) = ‘https://api.binance.com/api/v3/account?’+ ‘timestamp=’+@Timestamp_Value+’&signature=’+@Signature
DECLARE @Api_Key varchar(max) = ‘[{
“Name”: “X-MBX-APIKEY”,
“Value”: “YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY”
}]’;

EXEC sp_OACreate ‘MSXML2.ServerXMLHTTP’, @Object OUT;
EXEC sp_OAMethod @Object, ‘open’, NULL, ‘get’,
@Url,
‘false’

EXEC sp_OAMethod @Object, ‘setRequestHeader’, NULL, ‘Content-Type’, ‘application/json’;
EXEC sp_OAMethod @Object, ‘send’, null, @Api_Key

EXEC sp_OAMethod @Object, ‘responseText’, @ResponseT OUTPUT

INSERT INTO @Response (Json_Table)
EXEC sp_OAGetProperty @Object, ‘responseText’;

SELECT * FROM @Response

EXEC sp_OADestroy @Object

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que estás intentando enviar la clave de API como parte del cuerpo de la solicitud. En su lugar, deberías enviarla como parte de la cabecera de la solicitud. Puedes hacerlo usando el método setRequestHeader del objeto MSXML2.ServerXMLHTTP.

    Por ejemplo, puedes añadir la siguiente línea de código:


    EXEC sp_OAMethod @Object, 'setRequestHeader', NULL, 'X-MBX-APIKEY', 'YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY';

    Esto añadirá la clave de API a la cabecera de la solicitud, que debería estar en el formato correcto.

Comments are closed.