Interactive brokers OAuth1.0 header fields problem.

6 vues (au cours des 30 derniers jours)
Ken Brown
Ken Brown le 10 Oct 2021
Commenté : Geoff Hayes le 18 Oct 2021
Good day, I need help formatting header fields.
For Interactive brokers the OAuth requests require a header with the name “Authorization”. The authorization header must start with the string “OAuth”. Following "OAuth", it has to contain key/value pairs separated by comma. the key/value pairs include the consumer_key, timestamp, oauth_nonce, callback_URI... to name a few.
My problem is the initial format of the header.
I've used web options, to set the fields, but this does not send the data in the format Interactive Brokers want.
An example of how interactive brokers want the data is
authorization: OAuth realm="test_realm", oauth_callback="oob", oauth_consumer_key="TESTCONS", oauth_nonce="
3Xa0XhqFEoXbifYZUeflx6svQUDQsgB4",...
I have also used: field = matlab.net.http.HeaderField('Authorization','OAuth');
to set up the headerfields, but this does not allow for the space between OAuth and realm. in the header string.
Is there a way to format this using Matlab tools?
  3 commentaires
Ken Brown
Ken Brown le 17 Oct 2021
@Geoff Hayes I am using the reference material from Interactive Brokers (IB).
I am getting Error 400 Bad request. I dont think its the Data i am sending but the format.
Please see page 6 of the attachment as an example of the HTTP request required for IB.
Geoff Hayes
Geoff Hayes le 18 Oct 2021
@Ken Brown - I see from page six the following:
Authorization: OAuth oauth_callback="oob", \
oauth_consumer_key="TESTCONS", \ oauth_nonce="fcbc9c08d69ac269f7f1", \ oauth_signature="nHp...AA%3D%3D", \ oauth_signature_method="RSA-SHA256", \ oauth_timestamp="1473793701", \ realm="test_realm"
Could you create the authorization text as
authzText = 'OAuth oauth_callback="oob", oauth_consumer_key="TESTCONS", oauth_nonce="fcbc9c08d69ac269f7f1", oauth_signature="nHp...AA%3D%3D", oauth_signature_method="RSA-SHA256", oauth_timestamp="1473793701", realm="test_realm"'
and then create the header field as
field = matlab.net.http.HeaderField('Authorization', authzText);
where authzText is the properly formatted string that has the correct spaces between each field?

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur Call Web Services from MATLAB Using HTTP dans Help Center et File Exchange

Produits


Version

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by