Monday, January 8, 2018

Swagger Client API key authentication

Leave a Comment

I have to authenticate to Bitmex API using my Api key but I got this error

Unable to connect: TypeError: Cannot read property 'add' of undefined

'use strict'; var SwaggerClient = require("swagger-client"); var _ = require('lodash'); var BitMEXAPIKeyAuthorization = require('./lib/BitMEXAPIKeyAuthorization');  require('dotenv').config();  new SwaggerClient({   // Switch this to `www.bitmex.com` when you're ready to try it out for real.   // Don't forget the `www`!   url: 'https://testnet.bitmex.com/api/explorer/swagger.json',   usePromise: true }) .then(function(client) {   //console.log(client);   // Comment out if you're not requesting any user data.   client.clientAuthorizations.add("apiKey", new BitMEXAPIKeyAuthorization(process.env.BITMEX_API_KEY, process.env.BITMEX_API_SECRET));    // Print client capabilities   //  }) .catch(function(e) {   console.error("Unable to connect:", e); }) 

Nodejs connector: https://github.com/BitMEX/api-connectors

1 Answers

Answers 1

You're using the latest version of the client, which doesn't do authorizations that way: https://github.com/swagger-api/swagger-js/blob/903569948d5a5c718d7b87d6832a672de4e76afc/docs/MIGRATION_2_X.md#authorizations

new SwaggerClient({     // Switch this to `www.bitmex.com` when you're ready to try it out for real.     // Don't forget the `www`!     url: 'https://testnet.bitmex.com/api/explorer/swagger.json',     usePromise: true,     authorizations: {         apiKey: new BitMEXAPIKeyAuthorization(process.env.BITMEX_API_KEY, process.env.BITMEX_API_SECRET)     } }) .then(client => {     // Do whatever with client }) .catch(function(e) { console.error("Unable to connect:", e); }) 
If You Enjoyed This, Take 5 Seconds To Share It

0 comments:

Post a Comment