From 847395c3bdd7ccdadd5815e32abe989eacaf8e51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?VERCHERE=20R=C3=A9mi?= Date: Sun, 27 Mar 2022 19:16:43 +0200 Subject: [PATCH 1/4] add python requesting resources examples --- snippets/python3-sample.md | 63 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 snippets/python3-sample.md diff --git a/snippets/python3-sample.md b/snippets/python3-sample.md new file mode 100644 index 0000000..efad448 --- /dev/null +++ b/snippets/python3-sample.md @@ -0,0 +1,63 @@ +# Step 0: Install Python 3 and requests module +Download and install the Python 3 then install with pip command 'requests' library. You can now run the snippet with python command. + +# Step 1: Requesting resources +```Python +import requests + +baseUrl = "http://services.odata.org/v4/TripPinServiceRW/" +response = requests.get(baseUrl +"People") + +if response.status_code != 200: + print("error: " + str(response.status_code)) + print(response.text) +else: + print("success") + print(response.json()) + +``` + +# Step 2: Requesting an individual resource +```Python +import requests + +baseUrl = "http://services.odata.org/v4/TripPinServiceRW/" +response = requests.get(baseUrl +"People('russellwhyte')") + +if response.status_code != 200: + print("error: " + str(response.status_code)) + print(response.text) +else: + print("success") + print(response.json()) +``` + +# Step 3: Queries +```Python +import requests + +baseUrl = "http://services.odata.org/v4/TripPinServiceRW/" + +queryparams = { + "$top":2, + "$select":"FirstName, LastName", + "$filter":"Trips/any(d:d/Budget gt 3000)" +} + +response = requests.get(baseUrl +"People", params=queryparams) + +if response.status_code != 200: + print("error: " + str(response.status_code)) + print(response.text) +else: + print("success") + print(response.json()) +``` + +# Step 4: Creating a new resource +```Python +``` + +# Step 5: Relating resources +```Python +``` \ No newline at end of file From df00421ce5f4a2f3fe82a595b34daa1f33adcc24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?VERCHERE=20R=C3=A9mi?= Date: Wed, 30 Mar 2022 22:43:06 +0200 Subject: [PATCH 2/4] python samples creation/relation/function Odata --- snippets/python3-sample.md | 64 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/snippets/python3-sample.md b/snippets/python3-sample.md index efad448..7626b75 100644 --- a/snippets/python3-sample.md +++ b/snippets/python3-sample.md @@ -56,8 +56,72 @@ else: # Step 4: Creating a new resource ```Python +import requests + +baseUrl = "http://services.odata.org/v4/TripPinServiceRW/" + +newPerson = { + "UserName":"jeanbon", + "FirstName":"Jean", + "LastName":"Bon", + "Emails":[ + "jeanbon@example.com" + ], + "AddressInfo":[ + { + "Address": "187 Suffolk Ln.", + "City": { + "CountryRegion": "United States", + "Name": "Boise", + "Region": "ID" + } + } + ], + "Gender": "Male" +} + +response = requests.post(baseUrl +"People", json=newPerson) + +if response.status_code != 201: + print("error: " + str(response.status_code)) + print(response.text) +else: + print("success") + print(response.json()) ``` # Step 5: Relating resources ```Python +import requests + +baseUrl = "http://services.odata.org/v4/TripPinServiceRW/" + +payload = { + "@odata.id": "http://services.odata.org/V4/TripPinServiceRW/People('russellwhyte')/Trips(0)" +} + +response = requests.post(baseUrl +"People('lewisblack')/Trips/$ref", json=payload) + +if response.status_code != 201: + print("error: " + str(response.status_code)) + print(response.text) +else: + print("success") + print(response.json()) + +``` + +# Step 5: Invoking a function +```Python +import requests + +baseUrl = "http://services.odata.org/v4/TripPinServiceRW/" +response = requests.get(baseUrl +"People('russellwhyte')/Trips(0)/Microsoft.OData.SampleService.Models.TripPin.GetInvolvedPeople()") + +if response.status_code != 200: + print("error: " + str(response.status_code)) + print(response.text) +else: + print("success") + print(response.json()) ``` \ No newline at end of file From ef477210f08a32b8bf2def2a7eaeffc579252ebe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?VERCHERE=20R=C3=A9mi?= Date: Sat, 23 Nov 2024 22:53:28 +0100 Subject: [PATCH 3/4] fix Step 4 redirection issue --- snippets/python3-sample.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/snippets/python3-sample.md b/snippets/python3-sample.md index 7626b75..abeeee8 100644 --- a/snippets/python3-sample.md +++ b/snippets/python3-sample.md @@ -58,14 +58,14 @@ else: ```Python import requests -baseUrl = "http://services.odata.org/v4/TripPinServiceRW/" +baseUrl = "https://services.odata.org/v4/(S(dhzln0mseufepcdhv3dzuuh4))/TripPinServiceRW/" newPerson = { "UserName":"jeanbon", "FirstName":"Jean", "LastName":"Bon", "Emails":[ - "jeanbon@example.com" + "jeanbon2@example.com" ], "AddressInfo":[ { @@ -79,11 +79,18 @@ newPerson = { ], "Gender": "Male" } +headers= { + 'OData-Version': '4.0', + 'OData-MaxVersion': '4.0' +} -response = requests.post(baseUrl +"People", json=newPerson) +response = requests.post(baseUrl +"People",headers=headers, json=newPerson, allow_redirects=False) if response.status_code != 201: print("error: " + str(response.status_code)) + print(response.request.method) + print(response.request.url) + print(response.headers) print(response.text) else: print("success") @@ -111,7 +118,7 @@ else: ``` -# Step 5: Invoking a function +# Step 6: Invoking a function ```Python import requests From 6cb22c425297eccb3b0c0dea7f5e1c12011231b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?VERCHERE=20R=C3=A9mi?= Date: Sun, 24 Nov 2024 14:46:12 +0100 Subject: [PATCH 4/4] fix expected 204 step 5 --- snippets/python3-sample.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snippets/python3-sample.md b/snippets/python3-sample.md index abeeee8..2230b95 100644 --- a/snippets/python3-sample.md +++ b/snippets/python3-sample.md @@ -109,7 +109,7 @@ payload = { response = requests.post(baseUrl +"People('lewisblack')/Trips/$ref", json=payload) -if response.status_code != 201: +if response.status_code != 204: print("error: " + str(response.status_code)) print(response.text) else: