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.

Revisions

  1. cisc0disco created this gist Nov 2, 2022.
    254 changes: 254 additions & 0 deletions cviceni.ipynb
    Original 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
    }