{"id":2026,"date":"2025-09-18T08:43:34","date_gmt":"2025-09-18T08:43:34","guid":{"rendered":"https:\/\/marijagorbunova23.thkit.ee\/wp\/?page_id=2026"},"modified":"2025-09-18T10:20:36","modified_gmt":"2025-09-18T10:20:36","slug":"h7-github-api-paring","status":"publish","type":"page","link":"https:\/\/marijagorbunova23.thkit.ee\/wp\/?page_id=2026","title":{"rendered":"H7: Github API p\u00e4ring"},"content":{"rendered":"\n<p>Peame p\u00e4rima GitHubi kasutaja profiili andmed, n\u00e4iteks: ID, kasutajanimi, profiili link ja avalike repode arv. Harjutuse k\u00e4igus \u00f5pid tegema <strong>as\u00fcnkroonseid p\u00e4ringuid fetch abil<\/strong>, t\u00f6\u00f6tlema vigasid ja kuvama saadud andmed veebilehel d\u00fcnaamiliselt JavaScripti abil.<\/p>\n\n\n\n<p class=\"has-text-align-center\"><strong>\u00dclesanne: Github konto vaade<\/strong><\/p>\n\n\n\n<p>Sisse logime sandbox-is ja luuame uue html veebilehe<\/p>\n\n\n\n<p>kirjutame kood <\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>let givenProfile = &quot;&quot;;\nlet profileName = &quot;&quot;;\nlet profileID = &quot;&quot;;\nlet profileLink = &quot;&quot;;\nlet profileRepos = &quot;&quot;;\n\nfunction renderPage() {\n  document.getElementById(&quot;app&quot;).innerHTML = `\n    &lt;div&gt;\n      &lt;h1&gt;GitHub konto vaade&lt;\/h1&gt;\n      &lt;p&gt;Palun sisesta konto nimi:&lt;\/p&gt;\n      &lt;input type=&quot;text&quot; placeholder=&quot;Sisesta github kasutajanimi&quot; \/&gt;\n\n      &lt;div class=&quot;content&quot;&gt;\n        &lt;div id=&quot;mini&quot;&gt;\n          ${\n            profileName && profileName !== &quot;-&quot;\n              ? `&lt;p&gt;ID: ${profileID}&lt;\/p&gt;\n                 &lt;p&gt;Profiil: ${profileName}&lt;\/p&gt;\n                 &lt;a href=&quot;${profileLink}&quot; target=&quot;_blank&quot;&gt;${profileLink}&lt;\/a&gt;\n                 &lt;p&gt;Repos: ${profileRepos}&lt;\/p&gt;`\n              : &quot;&quot;\n          }\n        &lt;\/div&gt;\n      &lt;\/div&gt;\n    &lt;\/div&gt;\n  `;\n\n  const input = document.querySelector(&quot;input&quot;);\n  input.addEventListener(&quot;change&quot;, (e) =&gt; {\n    updateValue(e);\n  });\n}\n\nfunction updateValue(e) {\n  givenProfile = e.target.value.trim();\n  fetchProfile();\n}\n\nasync function fetchProfile() {\n  if (!givenProfile) {\n    profileName = &quot;&quot;;\n    profileID = &quot;&quot;;\n    profileLink = &quot;&quot;;\n    profileRepos = &quot;&quot;;\n    renderPage();\n    return;\n  }\n\n  try {\n    const response = await fetch(\n      `https:\/\/api.github.com\/users\/${givenProfile}`\n    );\n    const rateLimitRemaining = response.headers.get(&quot;X-RateLimit-Remaining&quot;);\n    if (!response.ok) {\n      profileName = &quot;User not found&quot;;\n      profileID = &quot;&quot;;\n      profileLink = &quot;&quot;;\n      profileRepos = &quot;&quot;;\n    } else {\n      const data = await response.json();\n      profileName = data.login || &quot;\u2014&quot;;\n      profileID = data.id || &quot;\u2014&quot;;\n      profileLink = data.html_url || &quot;\u2014&quot;;\n      profileRepos = data.public_repos || 0;\n    }\n\n    renderPage();\n  } catch (error) {\n    profileName = &quot;Error&quot;;\n    profileID = &quot;\u2014&quot;;\n    profileLink = &quot;\u2014&quot;;\n    profileRepos = &quot;\u2014&quot;;\n    renderPage();\n  }\n}\n\nrenderPage();\n<\/code><\/pre><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"381\" height=\"330\" src=\"https:\/\/marijagorbunova23.thkit.ee\/wp\/wp-content\/uploads\/2025\/09\/7A617F47-4E98-4168-8722-1BEE4786B9D3.png\" alt=\"\" class=\"wp-image-2030\" srcset=\"https:\/\/marijagorbunova23.thkit.ee\/wp\/wp-content\/uploads\/2025\/09\/7A617F47-4E98-4168-8722-1BEE4786B9D3.png 381w, https:\/\/marijagorbunova23.thkit.ee\/wp\/wp-content\/uploads\/2025\/09\/7A617F47-4E98-4168-8722-1BEE4786B9D3-300x260.png 300w, https:\/\/marijagorbunova23.thkit.ee\/wp\/wp-content\/uploads\/2025\/09\/7A617F47-4E98-4168-8722-1BEE4786B9D3-150x130.png 150w\" sizes=\"(max-width: 381px) 100vw, 381px\" \/><\/figure>\n\n\n\n<p>See kood n\u00e4itab GitHubi kasutajanime ja lehek\u00fclje tema andmetega: kasutajanimi, ID, link profiilile ja repositooriumide arv. Kui sellist kasutajat pole v\u00f5i on tekkinud viga, kuvatakse vastav teade.<\/p>\n\n\n\n<p class=\"has-text-align-center\"><strong>Kokkuv\u00f5tte<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>RenderPage() &#8211; loob ja uuendab veebilehe sisu<\/li>\n\n\n\n<li>fetchProfile() &#8211; toetab API  p\u00e4ringut ja t\u00f6\u00f6deldab vastused <\/li>\n\n\n\n<li>UpdateValue() &#8211; j\u00e4lgib sisestusv\u00e4lja muutumusi<\/li>\n<\/ul>\n\n\n\n<p>Selle projekti kallal t\u00f6\u00f6tades \u00f5ppisin ma GitHub API-st andmeid hankima.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Peame p\u00e4rima GitHubi kasutaja profiili andmed, n\u00e4iteks: ID, kasutajanimi, profiili link ja avalike repode arv. Harjutuse k\u00e4igus \u00f5pid tegema as\u00fcnkroonseid p\u00e4ringuid fetch abil, t\u00f6\u00f6tlema vigasid ja kuvama saadud andmed veebilehel d\u00fcnaamiliselt JavaScripti abil. \u00dclesanne: Github konto vaade Sisse logime sandbox-is ja luuame uue html veebilehe kirjutame kood See kood n\u00e4itab GitHubi kasutajanime ja lehek\u00fclje tema [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2026","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>H7: Github API p\u00e4ring - Marija Gorbunova portfoolio TARpv23<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/marijagorbunova23.thkit.ee\/wp\/?page_id=2026\" \/>\n<meta property=\"og:locale\" content=\"et_EE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"H7: Github API p\u00e4ring - Marija Gorbunova portfoolio TARpv23\" \/>\n<meta property=\"og:description\" content=\"Peame p\u00e4rima GitHubi kasutaja profiili andmed, n\u00e4iteks: ID, kasutajanimi, profiili link ja avalike repode arv. Harjutuse k\u00e4igus \u00f5pid tegema as\u00fcnkroonseid p\u00e4ringuid fetch abil, t\u00f6\u00f6tlema vigasid ja kuvama saadud andmed veebilehel d\u00fcnaamiliselt JavaScripti abil. \u00dclesanne: Github konto vaade Sisse logime sandbox-is ja luuame uue html veebilehe kirjutame kood See kood n\u00e4itab GitHubi kasutajanime ja lehek\u00fclje tema [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/marijagorbunova23.thkit.ee\/wp\/?page_id=2026\" \/>\n<meta property=\"og:site_name\" content=\"Marija Gorbunova portfoolio TARpv23\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-18T10:20:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/marijagorbunova23.thkit.ee\/wp\/wp-content\/uploads\/2025\/09\/7A617F47-4E98-4168-8722-1BEE4786B9D3.png\" \/>\n\t<meta property=\"og:image:width\" content=\"381\" \/>\n\t<meta property=\"og:image:height\" content=\"330\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minut\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/marijagorbunova23.thkit.ee\\\/wp\\\/?page_id=2026\",\"url\":\"https:\\\/\\\/marijagorbunova23.thkit.ee\\\/wp\\\/?page_id=2026\",\"name\":\"H7: Github API p\u00e4ring - Marija Gorbunova portfoolio TARpv23\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/marijagorbunova23.thkit.ee\\\/wp\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/marijagorbunova23.thkit.ee\\\/wp\\\/?page_id=2026#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/marijagorbunova23.thkit.ee\\\/wp\\\/?page_id=2026#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/marijagorbunova23.thkit.ee\\\/wp\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/7A617F47-4E98-4168-8722-1BEE4786B9D3.png\",\"datePublished\":\"2025-09-18T08:43:34+00:00\",\"dateModified\":\"2025-09-18T10:20:36+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/marijagorbunova23.thkit.ee\\\/wp\\\/?page_id=2026#breadcrumb\"},\"inLanguage\":\"et\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/marijagorbunova23.thkit.ee\\\/wp\\\/?page_id=2026\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"et\",\"@id\":\"https:\\\/\\\/marijagorbunova23.thkit.ee\\\/wp\\\/?page_id=2026#primaryimage\",\"url\":\"https:\\\/\\\/marijagorbunova23.thkit.ee\\\/wp\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/7A617F47-4E98-4168-8722-1BEE4786B9D3.png\",\"contentUrl\":\"https:\\\/\\\/marijagorbunova23.thkit.ee\\\/wp\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/7A617F47-4E98-4168-8722-1BEE4786B9D3.png\",\"width\":381,\"height\":330},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/marijagorbunova23.thkit.ee\\\/wp\\\/?page_id=2026#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/marijagorbunova23.thkit.ee\\\/wp\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"H7: Github API p\u00e4ring\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/marijagorbunova23.thkit.ee\\\/wp\\\/#website\",\"url\":\"https:\\\/\\\/marijagorbunova23.thkit.ee\\\/wp\\\/\",\"name\":\"Marija Gorbunova portfoolio TARpv23\",\"description\":\"J&auml;rgmine WordPress veebileht\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/marijagorbunova23.thkit.ee\\\/wp\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"et\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"H7: Github API p\u00e4ring - Marija Gorbunova portfoolio TARpv23","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/marijagorbunova23.thkit.ee\/wp\/?page_id=2026","og_locale":"et_EE","og_type":"article","og_title":"H7: Github API p\u00e4ring - Marija Gorbunova portfoolio TARpv23","og_description":"Peame p\u00e4rima GitHubi kasutaja profiili andmed, n\u00e4iteks: ID, kasutajanimi, profiili link ja avalike repode arv. Harjutuse k\u00e4igus \u00f5pid tegema as\u00fcnkroonseid p\u00e4ringuid fetch abil, t\u00f6\u00f6tlema vigasid ja kuvama saadud andmed veebilehel d\u00fcnaamiliselt JavaScripti abil. \u00dclesanne: Github konto vaade Sisse logime sandbox-is ja luuame uue html veebilehe kirjutame kood See kood n\u00e4itab GitHubi kasutajanime ja lehek\u00fclje tema [&hellip;]","og_url":"https:\/\/marijagorbunova23.thkit.ee\/wp\/?page_id=2026","og_site_name":"Marija Gorbunova portfoolio TARpv23","article_modified_time":"2025-09-18T10:20:36+00:00","og_image":[{"width":381,"height":330,"url":"https:\/\/marijagorbunova23.thkit.ee\/wp\/wp-content\/uploads\/2025\/09\/7A617F47-4E98-4168-8722-1BEE4786B9D3.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/marijagorbunova23.thkit.ee\/wp\/?page_id=2026","url":"https:\/\/marijagorbunova23.thkit.ee\/wp\/?page_id=2026","name":"H7: Github API p\u00e4ring - Marija Gorbunova portfoolio TARpv23","isPartOf":{"@id":"https:\/\/marijagorbunova23.thkit.ee\/wp\/#website"},"primaryImageOfPage":{"@id":"https:\/\/marijagorbunova23.thkit.ee\/wp\/?page_id=2026#primaryimage"},"image":{"@id":"https:\/\/marijagorbunova23.thkit.ee\/wp\/?page_id=2026#primaryimage"},"thumbnailUrl":"https:\/\/marijagorbunova23.thkit.ee\/wp\/wp-content\/uploads\/2025\/09\/7A617F47-4E98-4168-8722-1BEE4786B9D3.png","datePublished":"2025-09-18T08:43:34+00:00","dateModified":"2025-09-18T10:20:36+00:00","breadcrumb":{"@id":"https:\/\/marijagorbunova23.thkit.ee\/wp\/?page_id=2026#breadcrumb"},"inLanguage":"et","potentialAction":[{"@type":"ReadAction","target":["https:\/\/marijagorbunova23.thkit.ee\/wp\/?page_id=2026"]}]},{"@type":"ImageObject","inLanguage":"et","@id":"https:\/\/marijagorbunova23.thkit.ee\/wp\/?page_id=2026#primaryimage","url":"https:\/\/marijagorbunova23.thkit.ee\/wp\/wp-content\/uploads\/2025\/09\/7A617F47-4E98-4168-8722-1BEE4786B9D3.png","contentUrl":"https:\/\/marijagorbunova23.thkit.ee\/wp\/wp-content\/uploads\/2025\/09\/7A617F47-4E98-4168-8722-1BEE4786B9D3.png","width":381,"height":330},{"@type":"BreadcrumbList","@id":"https:\/\/marijagorbunova23.thkit.ee\/wp\/?page_id=2026#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/marijagorbunova23.thkit.ee\/wp\/"},{"@type":"ListItem","position":2,"name":"H7: Github API p\u00e4ring"}]},{"@type":"WebSite","@id":"https:\/\/marijagorbunova23.thkit.ee\/wp\/#website","url":"https:\/\/marijagorbunova23.thkit.ee\/wp\/","name":"Marija Gorbunova portfoolio TARpv23","description":"J&auml;rgmine WordPress veebileht","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/marijagorbunova23.thkit.ee\/wp\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"et"}]}},"_links":{"self":[{"href":"https:\/\/marijagorbunova23.thkit.ee\/wp\/index.php?rest_route=\/wp\/v2\/pages\/2026","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/marijagorbunova23.thkit.ee\/wp\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/marijagorbunova23.thkit.ee\/wp\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/marijagorbunova23.thkit.ee\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/marijagorbunova23.thkit.ee\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2026"}],"version-history":[{"count":4,"href":"https:\/\/marijagorbunova23.thkit.ee\/wp\/index.php?rest_route=\/wp\/v2\/pages\/2026\/revisions"}],"predecessor-version":[{"id":2053,"href":"https:\/\/marijagorbunova23.thkit.ee\/wp\/index.php?rest_route=\/wp\/v2\/pages\/2026\/revisions\/2053"}],"wp:attachment":[{"href":"https:\/\/marijagorbunova23.thkit.ee\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2026"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}