Setting HeaderFields for Bearer Token to make API requests
Show older comments
I need to set the Bearer Token field to 'Authorization : "Bearer <token>"' to pull data from an API however I have not been able to set this value. I have tried using the weboptions() function, but the HeadersFields field will not accept strings -- it appears to only accept numeric-type.
r= weboptions;
r.HeaderFields = 'Authorization : "Bearer <token>"';
This gives an error (r2019a). What's wrong with this statment?
Answers (2)
Mahsa Eshtehardi
on 5 Nov 2019
0 votes
You should add brackets:
'HeaderFields',{'Authorization', ['Bearer ' token]});
Sam Oliver
on 21 Feb 2023
You can make a request using Bearer token base authentication using the following code.
function [resp, a, req] = webread2(URL,Message,BearerToken)
MyBody = matlab.net.http.MessageBody(Message);
MyHTTPOptions = matlab.net.http.HTTPOptions();
Request = matlab.net.http.RequestMessage;
Request.Method = 'POST';
Request.Header = matlab.net.http.HeaderField('Content-Type','application/json','Authorization', ['Bearer ' BearerToken]);
Request.Body = MyBody;
uri = matlab.net.URI(URL);
[resp, a, req] = Request.send(uri,MyHTTPOptions);
end
Categories
Find more on Call Web Services from MATLAB Using HTTP in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!