{"id":910,"date":"2020-05-26T14:13:58","date_gmt":"2020-05-26T17:13:58","guid":{"rendered":"https:\/\/micheladrianomedeiros.com.br\/blog\/?p=910"},"modified":"2020-05-26T14:14:35","modified_gmt":"2020-05-26T17:14:35","slug":"construindo-ferramentas-com-github-5","status":"publish","type":"post","link":"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-5\/","title":{"rendered":"Construindo Ferramentas com GitHub #5"},"content":{"rendered":"\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-5\/#Escopo_de_Limitacoes\" >Escopo de Limita\u00e7\u00f5es<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-5\/#Escalonamento_de_Escopo\" >Escalonamento de Escopo<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-5\/#Simplificando_o_OAuth\" >Simplificando o OAuth<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-5\/#Status_do_Codigo\" >Status do C\u00f3digo<\/a><\/li><\/ul><\/nav><\/div>\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Escopo_de_Limitacoes\"><\/span><strong>Escopo de Limita\u00e7\u00f5es<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>H\u00e1 uma limita\u00e7\u00e3o maior de escopos que devemos estar cientes: voc\u00ea n\u00e3o faz uma refina\u00e7\u00e3o de acesso apenas para certos reposit\u00f3rios. Se voc\u00ea fornecer acesso para qualquer reposit\u00f3rio privado, todos os outros reposit\u00f3rios tamb\u00e9m ser\u00e3o acessados.<\/p>\n\n\n\n<p>\u00c9 prov\u00e1vel que GitHub ir\u00e1 mudar a maneira de como os escopos trabalham e abordam algumas dessas quest\u00f5es. O que \u00e9 interessante sobre como o OAuth trabalha \u00e9 que suporta mudan\u00e7as que voc\u00ea simplesmente precisa pedir um novo token com o escopo modificado, caso contr\u00e1rio, a autentica\u00e7\u00e3o da aplica\u00e7\u00e3o seguir\u00e1 imut\u00e1vel.<\/p>\n\n\n\n<p>Seja cuidadoso com os escopos que voc\u00ea pedir quando construir um servi\u00e7o ou aplica\u00e7\u00e3o. Usu\u00e1rios s\u00e3o (certamente) paranoicos sobre os dados deles que voc\u00ea est\u00e1 manipulando, e avaliar\u00e1 sua aplica\u00e7\u00e3o com base nos escopos solicitados.<\/p>\n\n\n\n<p>Se eles n\u00e3o acham que voc\u00ea precisa daquele escopo, tenha certeza de remov\u00ea-las da lista que fornece ao Github ao autorizar e considere escalar para escopos maiores despois que alguns usu\u00e1rios confiarem em voc\u00ea.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Escalonamento_de_Escopo\"><\/span><strong>Escalonamento de Escopo<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>Voc\u00ea pode pedir um escopo em um momento limitado, e depois pedir um escopo maior. Por exemplo, quando um usu\u00e1rio acessar sua aplica\u00e7\u00e3o pela a primeira vez, voc\u00ea deve ter apenas o escopo do usu\u00e1rio para criar um objeto de usu\u00e1rio dentro do seu servi\u00e7o, e apenas quando sua aplica\u00e7\u00e3o precisar da informa\u00e7\u00e3o do reposit\u00f3rio para um usu\u00e1rio, ent\u00e3o o pedido escala os privil\u00e9gios.<\/p>\n\n\n\n<p>Nesse ponto o usu\u00e1rio precisa aprovar ou desaprovar seu pedido, tudo deve ser pedido antes (antes que voc\u00ea tenha um relacionamento com o usu\u00e1rio) e frequentemente h\u00e1 o abandono do usu\u00e1rio ao login. Vamos especificar a autentica\u00e7\u00e3o utilizando o OAuth.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Simplificando_o_OAuth\"><\/span><strong>Simplificando o OAuth<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>OAuth tem muitas variantes, mas o GitHub utiliza o OAuth2. Vamos ver o caminho que o OAuth2 faz:<\/p>\n\n\n\n<p>1. A aplica\u00e7\u00e3o pede acesso<\/p>\n\n\n\n<p>2. O servi\u00e7o fornecedor (GitHub) pede autentica\u00e7\u00e3o: username e password<\/p>\n\n\n\n<p>3. Se dois fatores de autentica\u00e7\u00e3o \u00e9 habilitado, pede o c\u00f3digo para o OTP (one-time password)<\/p>\n\n\n\n<p>4. GitHub responde com um token dentro de um JSON no payload<\/p>\n\n\n\n<p>5. A aplica\u00e7\u00e3o utiliza o OAuth token para fazer pedidos a API<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Status_do_Codigo\"><\/span><strong>Status do C\u00f3digo<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>O GitHub API utiliza o c\u00f3digo de status HTTP para dizer informa\u00e7\u00f5es de como o pedido foi processado. Se voc\u00ea utilizar um cliente b\u00e1sico com o cURL, ser\u00e1 importante validar o c\u00f3digo de status antes de olhar os dados.<\/p>\n\n\n\n<p>Se voc\u00ea escrever seu pr\u00f3prio cliente, preste aten\u00e7\u00e3o no c\u00f3digo de status antes de qualquer coisa. Se voc\u00ea \u00e9 novo na API GitHub, \u00e9 melhor ver o c\u00f3digo da resposta completo at\u00e9 voc\u00ea ficar familiar com v\u00e1rias condi\u00e7\u00f5es que pode causar erros durante um pedido.<\/p>\n\n\n\n<p>Fonte: Building Tools with GitHub: Customize Your Workflow (English Edition)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Escopo de Limita\u00e7\u00f5es H\u00e1 uma limita\u00e7\u00e3o maior de escopos que devemos estar cientes: voc\u00ea n\u00e3o faz uma refina\u00e7\u00e3o de acesso apenas para certos reposit\u00f3rios. Se voc\u00ea fornecer acesso para qualquer reposit\u00f3rio privado, todos os outros reposit\u00f3rios tamb\u00e9m ser\u00e3o acessados. \u00c9 prov\u00e1vel que GitHub ir\u00e1 mudar a maneira de como os escopos trabalham e abordam algumas [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":360,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[70,71],"tags":[],"class_list":["post-910","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-git","category-github"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.5 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Construindo Ferramentas com GitHub #5 - Viciados em Aprender<\/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:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-5\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Construindo Ferramentas com GitHub #5\" \/>\n<meta property=\"og:description\" content=\"Escopo de Limita\u00e7\u00f5es H\u00e1 uma limita\u00e7\u00e3o maior de escopos que devemos estar cientes: voc\u00ea n\u00e3o faz uma refina\u00e7\u00e3o de acesso apenas para certos reposit\u00f3rios. Se voc\u00ea fornecer acesso para qualquer reposit\u00f3rio privado, todos os outros reposit\u00f3rios tamb\u00e9m ser\u00e3o acessados. \u00c9 prov\u00e1vel que GitHub ir\u00e1 mudar a maneira de como os escopos trabalham e abordam algumas [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-5\/\" \/>\n<meta property=\"og:site_name\" content=\"Viciados em Aprender\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-26T17:13:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-05-26T17:14:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/shutterstock_1134629258-compressor.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"627\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"blackzig\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"blackzig\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/construindo-ferramentas-com-github-5\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/construindo-ferramentas-com-github-5\\\/\"},\"author\":{\"name\":\"blackzig\",\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/687a6d17428a0f0e040aefbd858ebc1e\"},\"headline\":\"Construindo Ferramentas com GitHub #5\",\"datePublished\":\"2020-05-26T17:13:58+00:00\",\"dateModified\":\"2020-05-26T17:14:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/construindo-ferramentas-com-github-5\\\/\"},\"wordCount\":488,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/687a6d17428a0f0e040aefbd858ebc1e\"},\"image\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/construindo-ferramentas-com-github-5\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/shutterstock_1134629258-compressor.jpg\",\"articleSection\":[\"Git\",\"GitHub\"],\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/construindo-ferramentas-com-github-5\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/construindo-ferramentas-com-github-5\\\/\",\"url\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/construindo-ferramentas-com-github-5\\\/\",\"name\":\"Construindo Ferramentas com GitHub #5 - Viciados em Aprender\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/construindo-ferramentas-com-github-5\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/construindo-ferramentas-com-github-5\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/shutterstock_1134629258-compressor.jpg\",\"datePublished\":\"2020-05-26T17:13:58+00:00\",\"dateModified\":\"2020-05-26T17:14:35+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/construindo-ferramentas-com-github-5\\\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/construindo-ferramentas-com-github-5\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/construindo-ferramentas-com-github-5\\\/#primaryimage\",\"url\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/shutterstock_1134629258-compressor.jpg\",\"contentUrl\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/shutterstock_1134629258-compressor.jpg\",\"width\":1200,\"height\":627},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/construindo-ferramentas-com-github-5\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Construindo Ferramentas com GitHub #5\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/\",\"name\":\"Viciados em Aprender\",\"description\":\"Queremos aprender tudo o que for poss\u00edvel nesta vida.\",\"publisher\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/687a6d17428a0f0e040aefbd858ebc1e\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/687a6d17428a0f0e040aefbd858ebc1e\",\"name\":\"blackzig\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg\",\"url\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg\",\"contentUrl\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg\",\"width\":1920,\"height\":1080,\"caption\":\"blackzig\"},\"logo\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg\"},\"sameAs\":[\"http:\\\/\\\/www.micheladrianomedeiros.com.br\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Construindo Ferramentas com GitHub #5 - Viciados em Aprender","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:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-5\/","og_locale":"pt_PT","og_type":"article","og_title":"Construindo Ferramentas com GitHub #5","og_description":"Escopo de Limita\u00e7\u00f5es H\u00e1 uma limita\u00e7\u00e3o maior de escopos que devemos estar cientes: voc\u00ea n\u00e3o faz uma refina\u00e7\u00e3o de acesso apenas para certos reposit\u00f3rios. Se voc\u00ea fornecer acesso para qualquer reposit\u00f3rio privado, todos os outros reposit\u00f3rios tamb\u00e9m ser\u00e3o acessados. \u00c9 prov\u00e1vel que GitHub ir\u00e1 mudar a maneira de como os escopos trabalham e abordam algumas [&hellip;]","og_url":"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-5\/","og_site_name":"Viciados em Aprender","article_published_time":"2020-05-26T17:13:58+00:00","article_modified_time":"2020-05-26T17:14:35+00:00","og_image":[{"width":1200,"height":627,"url":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/shutterstock_1134629258-compressor.jpg","type":"image\/jpeg"}],"author":"blackzig","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"blackzig","Tempo estimado de leitura":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-5\/#article","isPartOf":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-5\/"},"author":{"name":"blackzig","@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/#\/schema\/person\/687a6d17428a0f0e040aefbd858ebc1e"},"headline":"Construindo Ferramentas com GitHub #5","datePublished":"2020-05-26T17:13:58+00:00","dateModified":"2020-05-26T17:14:35+00:00","mainEntityOfPage":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-5\/"},"wordCount":488,"commentCount":0,"publisher":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/#\/schema\/person\/687a6d17428a0f0e040aefbd858ebc1e"},"image":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-5\/#primaryimage"},"thumbnailUrl":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/shutterstock_1134629258-compressor.jpg","articleSection":["Git","GitHub"],"inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-5\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-5\/","url":"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-5\/","name":"Construindo Ferramentas com GitHub #5 - Viciados em Aprender","isPartOf":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-5\/#primaryimage"},"image":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-5\/#primaryimage"},"thumbnailUrl":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/shutterstock_1134629258-compressor.jpg","datePublished":"2020-05-26T17:13:58+00:00","dateModified":"2020-05-26T17:14:35+00:00","breadcrumb":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-5\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-5\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-5\/#primaryimage","url":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/shutterstock_1134629258-compressor.jpg","contentUrl":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/shutterstock_1134629258-compressor.jpg","width":1200,"height":627},{"@type":"BreadcrumbList","@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-5\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/micheladrianomedeiros.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Construindo Ferramentas com GitHub #5"}]},{"@type":"WebSite","@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/#website","url":"https:\/\/micheladrianomedeiros.com.br\/blog\/","name":"Viciados em Aprender","description":"Queremos aprender tudo o que for poss\u00edvel nesta vida.","publisher":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/#\/schema\/person\/687a6d17428a0f0e040aefbd858ebc1e"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/micheladrianomedeiros.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":["Person","Organization"],"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/#\/schema\/person\/687a6d17428a0f0e040aefbd858ebc1e","name":"blackzig","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2025\/07\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg","url":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2025\/07\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg","contentUrl":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2025\/07\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg","width":1920,"height":1080,"caption":"blackzig"},"logo":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2025\/07\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg"},"sameAs":["http:\/\/www.micheladrianomedeiros.com.br\/"]}]}},"_links":{"self":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/910","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/comments?post=910"}],"version-history":[{"count":2,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/910\/revisions"}],"predecessor-version":[{"id":912,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/910\/revisions\/912"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/media\/360"}],"wp:attachment":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/media?parent=910"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/categories?post=910"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/tags?post=910"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}