Forum Discussion
thediez
2 years agoFrequent Visitor
How to send a POST request with an empty body
Dear All,
I have been struggling with sending a POST request with an empty body to retrieve data.
The request requires authentication via refresh token which is working fine.
It seems that the Web.Contents is still trying to use GET method.
let
body = null,
Source = Json.Document(Web.Contents("https://www.vptol.co.uk/dlatest/QuestionnaireDataWithProfile?org=whoglmat&typ=WHOData", [Headers=[#"Authorization"="Bearer "&GetAccessTokenForAcasiResponses()], Content=body]))
in
Source
Yield in this error message:
DataSource.Error: Web.Contents failed to get contents from 'https://www.vptol.co.uk/dlatest/QuestionnaireDataWithProfile?org=whoglmat&typ=WHOData' (405): Method Not Allowed
Details:
DataSourceKind=Web
DataSourcePath=https://www.vptol.co.uk/dlatest/QuestionnaireDataWithProfile
Url=https://www.vptol.co.uk/dlatest/QuestionnaireDataWithProfile?org=whoglmat&typ=WHOData
Any help is appreciated.
Kind regards,
thediez
thediez Can you check that credentials are set to Anonymous for the data source (since using Bearer Token)?
Data source settings > select from the list > Edit Permissions
4 Replies
- thediezFrequent Visitor
Hi OwenAuger ,
Thanks for the suggestion.
I have updated as follows:
let body = Text.ToBinary(""), Source = Json.Document(Web.Contents("https://www.vptol.co.uk/dlatest/QuestionnaireDataWithProfile?org=whoglmat&typ=WHOData", [Headers=[#"Authorization"="Bearer "&GetAccessTokenForAcasiResponses()], Content=body])) in SourceBut now getting this message.
I suspect that adding "Content" in the brackets after "Header" is causing this error.
Kind regards,
Khurshed