HTTP POST request API

I am trying to send a POST request to Notion with json body. The request contains a header with three fields.
I get an response HTTP/1.1 400 Bad Request. What am I doing wrong? Everything works through Postman. I also tried to shape the request body as a matlab structure.
My code:
data = '{"parent":{"database_id":"<my_id>"},"properties":{"title":{"title":[{"text":{"content":"hello"}}]}}}';
uri=matlab.net.URI('https://api.notion.com/v1/pages');
method = matlab.net.http.RequestMethod.POST;
header = matlab.net.http.HeaderField('Authorization', 'Bearer <secret_token>',...
'Content-Type', 'application/json',...
'Notion-Version','2021-05-13');
body = matlab.net.http.MessageBody(data);
request = matlab.net.http.RequestMessage(method,header,body);
[response,completedrequest,history] = send(request,uri)

4 Comments

@Orkhan Alikhanov could you update the question with the solution containing MATLAB structure as the request body?
I was able to compose a request using the function urlread2.
Header = http_createHeader({'Authorization', 'Content-Type','Notion-Version'} ,{['token'], 'application/json','2021-05-13'});
url = 'https://api.notion.com/v1/pages';
data = strcat('{my json request}');
response=urlread2(url,'POST', data ,Header);
Thanks!
@Orkhan Alikhanov its working now, right?

Sign in to comment.

Answers (0)

Products

Release

R2020b

Asked:

on 6 Aug 2021

Commented:

on 13 Aug 2021

Community Treasure Hunt

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

Start Hunting!