{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "

Práce s API

" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "dotnet_interactive": { "language": "csharp" }, "vscode": { "languageId": "dotnet-interactive.csharp" } }, "outputs": [ { "data": { "text/html": [ "
Installed Packages
" ] }, "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": [ "
Installed Packages
" ] }, "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": [ "
Installed Packages
" ] }, "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 }