Malformed client_id parameter

Created at 09 Jan 2023, 10:06
How’s your experience with the cTrader Platform?
Your feedback is crucial to cTrader's development. Please take a few seconds to share your opinion and help us improve your trading experience. Thanks!
CT

ctid402288

Joined 06.02.2016

Malformed client_id parameter
09 Jan 2023, 10:06


Has anyone come across the Malformed ClientID parameter error in the OAuth authentication stage of initializing the OpenAPIService in the Python SDK. I have tried three clientID permutations, all end up with the same error. I am using my credentials from the Windows CTrader application in the API client. I have tried ctid123456, 123456 and my email address a.b@c. For some reason it returns the same error. I have also tried the clientId and secret from the Applications webpage of CTrader OpenAPi. What am l missing?

This is the line of code that is potentially the problem:-

auth = Auth(str(creds.clientId), creds.secret, f"http://{creds.host}:{creds.port}/redirect")

the clientId is an int32 converted to string. I have tried it as an int32 also. They all return the following Authcode

{'errorCode': 'INVALID_REQUEST', 'description': 'Malformed client_id parameter'}

Any help would be greatly appreciated.


@ctid402288
Replies

PanagiotisChar
09 Jan 2023, 10:36

Hi there, 

The client ID is taken from your Open API application

Can you provide us with the exact uri you are using for your request?

Aieden Technologies

Need help? Join us on Telegram

Need premium support? Trade with us

 


@PanagiotisChar

ctid402288
09 Jan 2023, 10:48 ( Updated at: 21 Dec 2023, 09:23 )

PanagiotisChar said:

Hi there, 

The client ID is taken from your Open API application

Can you provide us with the exact uri you are using for your request?

Aieden Technologies

Need help? Join us on Telegram

Need premium support? Trade with us

 

 


@ctid402288

ctid402288
09 Jan 2023, 10:48 ( Updated at: 21 Dec 2023, 09:23 )

PanagiotisChar said:

Hi there, 

The client ID is taken from your Open API application

Can you provide us with the exact uri you are using for your request?

Aieden Technologies

Need help? Join us on Telegram

Need premium support? Trade with us

 

 


@ctid402288

ctid402288
09 Jan 2023, 15:58 ( Updated at: 21 Dec 2023, 09:23 )

RE:

ctid402288 said:

AuthURI is https://openapi.ctrader.com/apps/auth?client_id=4012_1kzE&redirect_uri=http://demo-eu.ctraderapi.com:5035/redirect&scope=trading

I already tried that and got the following Auth error:- {'errorCode': 'ACCESS_DENIED', 'description': 'Access denied. Make sure the credentials are valid.'} The AUTHURI is as follows https://openapi.ctrader.com/apps/auth?client_id=4012_1kzE&redirect_u

I have ran the code with a manually generated set of tokens from the Applications site but Twisted is unable to establish a connection due to the credential issue. l get the following error mesage:

twisted.internet.error.CannotListenError: Couldn't listen on demo-eu.ctraderapi.com:5035: [Errno 49] Can't assign requested address.

And it perpetually tries to reconnect

2023-01-09 14:05:31+0000 [-] Scheduling retry 2 to connect <twisted.internet.endpoints.SSL4ClientEndpoint object at 0x16f804070> in 2.7144583928643655 seconds.

The issue might be with the credential which incidentally has a status of ACTIVE.

 

PanagiotisChar said:

Hi there, 

The client ID is taken from your Open API application

Can you provide us with the exact uri you are using for your request?

Aieden Technologies

Need help? Join us on Telegram

Need premium support? Trade with us

 

 

 


@ctid402288

PanagiotisChar
10 Jan 2023, 08:43

Hi there, 

The client ID you are using does not seem correct to me

Aieden Technologies

Need help? Join us on Telegram

Need premium support? Trade with us


@PanagiotisChar

ctid402288
14 Jan 2023, 23:02 ( Updated at: 14 Jan 2023, 23:14 )

RE:

PanagiotisChar said:

Hi there, 

The client ID you are using does not seem correct to me

Aieden Technologies

Need help? Join us on Telegram

Need premium support? Trade with us

 

This is the full URI:-

authUri: https://openapi.ctrader.com/apps/auth?client_id=4012_1kzEubcpMG4qFkGmyWjGxvL94iU5eJVSs9jz1xvGTlAbZuQxo3&redirect_uri=http://demo-eu.ctraderapi.com:5035/redirect&scope=trading

authcode: {'errorCode': 'ACCESS_DENIED', 'description': 'Access denied. Make sure the credentials are valid.'}

 

The account is active and the credentials is valid, l checked before putting up this post. There appears to be something wrong at the server end.


@ctid402288

PanagiotisChar
16 Jan 2023, 09:57

Hi there, 

This is a different message than the one you posted above. At which point do you get this? Maybe you can record a video or share some screenshots.

You are definitely doing something wrong, if there was a problem on the servers, there would have been hundreds of complaints.

Aieden Technologies

Need help? Join us on Telegram

Need premium support? Trade with us


@PanagiotisChar

ctid402288
16 Jan 2023, 18:32

RE:

PanagiotisChar said:

Hi there, 

This is a different message than the one you posted above. At which point do you get this? Maybe you can record a video or share some screenshots.

You are definitely doing something wrong, if there was a problem on the servers, there would have been hundreds of complaints.

Aieden Technologies

Need help? Join us on Telegram

Need premium support? Trade with us

Hi there,

 

 


@ctid402288

ctid402288
16 Jan 2023, 18:32

RE:

PanagiotisChar said:

Hi there, 

This is a different message than the one you posted above. At which point do you get this? Maybe you can record a video or share some screenshots.

You are definitely doing something wrong, if there was a problem on the servers, there would have been hundreds of complaints.

Aieden Technologies

Need help? Join us on Telegram

Need premium support? Trade with us

Hi there,

 

 


@ctid402288

ctid402288
16 Jan 2023, 18:32

RE:

PanagiotisChar said:

Hi there, 

This is a different message than the one you posted above. At which point do you get this? Maybe you can record a video or share some screenshots.

You are definitely doing something wrong, if there was a problem on the servers, there would have been hundreds of complaints.

Aieden Technologies

Need help? Join us on Telegram

Need premium support? Trade with us

Hi there,

 

 


@ctid402288

ctid402288
16 Jan 2023, 18:32 ( Updated at: 21 Dec 2023, 09:23 )

RE:

PanagiotisChar said:

Hi there, 

This is a different message than the one you posted above. At which point do you get this? Maybe you can record a video or share some screenshots.

You are definitely doing something wrong, if there was a problem on the servers, there would have been hundreds of complaints.

Aieden Technologies

Need help? Join us on Telegram

Need premium support? Trade with us

Hi there,

I am using the python example based on Klein and Twister to verify the connection. The information provided is from the initial stages of the code as shown below:-

I have adapted this code to test the authentication and the result is what l posted previously. My code is based on the same principle but using flask and connextion. The result is the same. It is probable that the server version has moved on and the sample code is no longer valid. If that is the case, please can you advice me on what has changed?

 

Regards

AO


@ctid402288

PanagiotisChar
17 Jan 2023, 09:23

Hi there, 

I am not familiar with Python, sorry :(

Aieden Technologies

Need help? Join us on Telegram

Need premium support? Trade with us


@PanagiotisChar

ctid402288
17 Jan 2023, 12:49 ( Updated at: 17 Jan 2023, 12:50 )

RE:

PanagiotisChar said:

Hi there, 

I am not familiar with Python, sorry :(

Aieden Technologies

Need help? Join us on Telegram

Need premium support? Trade with us

Has anyone ever connected to the CTrader Open Api successfully using Python or the samples offered on the Applications website, l wonder? I am hopeful that those samples has been tested and are fit for purpose. My expectation is that they should be able to establish a connection to the OpenApi platform. 


@ctid402288

PanagiotisChar
18 Jan 2023, 10:01

Hi there, 

The samples definitely work, probably you are doing something wrong in the process. Try asking in the samples GitHub repository too, maybe you will get some help by Python users.

Aieden Technologies

Need help? Join us on Telegram

Need premium support? Trade with us


@PanagiotisChar

ctid402288
19 Jan 2023, 19:37 ( Updated at: 21 Dec 2023, 09:23 )

RE:

PanagiotisChar said:

Hi there, 

The samples definitely work, probably you are doing something wrong in the process. Try asking in the samples GitHub repository too, maybe you will get some help by Python users.

Aieden Technologies

Need help? Join us on Telegram

Need premium support? Trade with us

I have retried the Klein sample and it does not work. The basic example on the Python SDK page connects successfuly with my credentials. But it does not carry out a OAuth authentication that

should provide an Authcode. The Console sample successfully conducted a basic OAuth authentication but failed due to redirect URL.

The default redirect URL for the application is as shown below. The authentication process only works when l use the "https://openapi.ctrader.com/apps/4012/playground" redirect URL which fails to provide an Authcode. I have added the second redirect URL which unfortunately produces the error in the image above. Any other permutation of the redirect URL produces the errors that l previously mentioned in my previous posts. I am guessing that this is the case because l do not have a live account yet.

 


@ctid402288

ctid402288
25 Jan 2023, 14:06 ( Updated at: 07 Feb 2023, 11:50 )

RESOLVED

The solution was to define the redirect urls correctly. Your redirect should be set to http://localhost:5035/redirect for example. Or https://{your domain url}:[your preferred port}/redirect. Also bear in mind that the OpenAPI Client requires two loops of authentication to get going. You application have to authenticate via Oauth, thereafter, the application also need to authenticate the Account you wish to use for trading. The OAuth authentication requires you to log into the OpenAPI platform and authorize your application to access the platform. This act issues an Authcode to your application which it uses to obtain an Access Token to complete the authentication. From here on, the fun begins.

 

Thank you for your help PanagiotisChar.

 

 

 


@ctid402288