Skip to content

Instantly share code, notes, and snippets.

@cisc0disco
Created November 2, 2022 17:16
Show Gist options
  • Select an option

  • Save cisc0disco/10c145be72ce90e72fe282342aeca1e6 to your computer and use it in GitHub Desktop.

Select an option

Save cisc0disco/10c145be72ce90e72fe282342aeca1e6 to your computer and use it in GitHub Desktop.
2.B Cvičení z 2.11.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2 style=\"text-align: center;\">Práce s API</h2>"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"vscode": {
"languageId": "dotnet-interactive.csharp"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div><div></div><div></div><div><strong>Installed Packages</strong><ul><li><span>Newtonsoft.Json, 13.0.1</span></li><li><span>RestSharp, 108.0.2</span></li></ul></div></div>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Luke Skywalker má 77 KG\n",
"C-3PO má 75 KG\n",
"R2-D2 má 32 KG\n"
]
}
],
"source": [
"#r \"nuget:RestSharp\"\n",
"#r \"nuget:Newtonsoft.Json\"\n",
"\n",
"using RestSharp;\n",
"using Newtonsoft.Json;\n",
"using Newtonsoft.Json.Linq;\n",
"\n",
"RestClient client = new RestClient();\n",
"\n",
"for (int i = 1; i < 4; i++)\n",
"{\n",
" RestRequest request = new RestRequest($\"https://swapi.dev/api/people/{i}\");\n",
"\n",
" RestResponse response = await client.GetAsync(request);\n",
"\n",
" //Console.WriteLine(response.ContentType);\n",
"\n",
" JObject json = JObject.Parse(response.Content);\n",
"\n",
" Console.WriteLine($\"{json[\"name\"]} má {json[\"mass\"]} KG\");\n",
"}\n",
"\n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"vscode": {
"languageId": "dotnet-interactive.csharp"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div><div></div><div></div><div><strong>Installed Packages</strong><ul><li><span>Newtonsoft.Json, 13.0.1</span></li><li><span>RestSharp, 108.0.2</span></li></ul></div></div>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Luke Skywalker se narodil/a na planetě Tatooine\n"
]
}
],
"source": [
"#r \"nuget:RestSharp\"\n",
"#r \"nuget:Newtonsoft.Json\"\n",
"\n",
"using RestSharp;\n",
"using Newtonsoft.Json;\n",
"using Newtonsoft.Json.Linq;\n",
"\n",
"RestClient client = new RestClient();\n",
"\n",
"RestRequest request = new RestRequest(\"https://swapi.dev/api/people/1\");\n",
"\n",
"RestResponse response = await client.GetAsync(request);\n",
"\n",
"JObject json = JObject.Parse(response.Content);\n",
"\n",
"RestRequest requestPlanet = new RestRequest(json[\"homeworld\"].ToString());\n",
"\n",
"var planet = await client.GetAsync(requestPlanet);\n",
"\n",
"string nazevPlanety = JObject.Parse(planet.Content)[\"name\"].ToString();\n",
"\n",
"Console.WriteLine($\"{json[\"name\"]} se narodil/a na planetě {nazevPlanety}\")"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"vscode": {
"languageId": "dotnet-interactive.csharp"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div><div></div><div></div><div><strong>Installed Packages</strong><ul><li><span>Newtonsoft.Json, 13.0.1</span></li><li><span>RestSharp, 108.0.2</span></li></ul></div></div>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{\n",
" \"geometry\": {\n",
" \"coordinates\": [\n",
" 14.26183,\n",
" 49.86653\n",
" ],\n",
" \"type\": \"Point\"\n",
" },\n",
" \"properties\": {\n",
" \"last_position\": {\n",
" \"bearing\": 283,\n",
" \"delay\": {\n",
" \"actual\": 672,\n",
" \"last_stop_arrival\": null,\n",
" \"last_stop_departure\": 672\n",
" },\n",
" \"is_canceled\": false,\n",
" \"last_stop\": {\n",
" \"arrival_time\": \"2022-11-02T16:35:00+01:00\",\n",
" \"departure_time\": \"2022-11-02T16:35:00+01:00\",\n",
" \"id\": \"U1709Z1\",\n",
" \"sequence\": 12\n",
" },\n",
" \"next_stop\": {\n",
" \"arrival_time\": \"2022-11-02T16:38:00+01:00\",\n",
" \"departure_time\": \"2022-11-02T16:38:00+01:00\",\n",
" \"id\": \"U1710Z1\",\n",
" \"sequence\": 13\n",
" },\n",
" \"origin_timestamp\": \"2022-11-02T16:46:12+01:00\",\n",
" \"shape_dist_traveled\": \"27.142\",\n",
" \"speed\": 6,\n",
" \"state_position\": \"at_stop\",\n",
" \"tracking\": true\n",
" },\n",
" \"trip\": {\n",
" \"agency_name\": {\n",
" \"real\": \"MARTIN UHER\",\n",
" \"scheduled\": \"MARTIN UHER\"\n",
" },\n",
" \"cis\": {\n",
" \"line_id\": \"100317\",\n",
" \"trip_number\": 1041\n",
" },\n",
" \"gtfs\": {\n",
" \"route_id\": \"L317\",\n",
" \"route_short_name\": \"317\",\n",
" \"route_type\": 3,\n",
" \"trip_headsign\": \"Dobříš,nám.\",\n",
" \"trip_id\": \"317_359_221003\",\n",
" \"trip_short_name\": null\n",
" },\n",
" \"origin_route_name\": \"317\",\n",
" \"sequence_id\": 1,\n",
" \"start_timestamp\": \"2022-11-02T16:00:00+01:00\",\n",
" \"vehicle_registration_number\": 1168,\n",
" \"vehicle_type\": {\n",
" \"description_cs\": \"regionální autobus\",\n",
" \"description_en\": \"regional bus\",\n",
" \"id\": 4\n",
" },\n",
" \"wheelchair_accessible\": true,\n",
" \"air_conditioned\": null\n",
" }\n",
" },\n",
" \"type\": \"Feature\"\n",
"}\n"
]
}
],
"source": [
"#r \"nuget:RestSharp\"\n",
"#r \"nuget:Newtonsoft.Json\"\n",
"\n",
"using RestSharp;\n",
"using Newtonsoft.Json;\n",
"using Newtonsoft.Json.Linq;\n",
"\n",
"RestClient client = new RestClient();\n",
"\n",
"RestRequest request = new RestRequest(\"https://api.golemio.cz/v2/vehiclepositions?routeId=L317\");\n",
"\n",
"request.AddHeader(\"x-access-token\", \"sem dej svůj golemio token\");\n",
"\n",
"RestResponse response = await client.GetAsync(request);\n",
"\n",
"JObject json = JObject.Parse(response.Content);\n",
"\n",
"//JArray jsonArray = (JArray) json[0];\n",
"\n",
"Console.WriteLine(json[\"features\"][0])\n",
"\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": ".NET (C#)",
"language": "C#",
"name": ".net-csharp"
},
"language_info": {
"name": "C#"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment