Created
November 2, 2022 17:16
-
-
Save cisc0disco/10c145be72ce90e72fe282342aeca1e6 to your computer and use it in GitHub Desktop.
Revisions
-
cisc0disco created this gist
Nov 2, 2022 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,254 @@ { "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 }