{"id":27031,"date":"2021-05-06T20:16:00","date_gmt":"2021-05-06T17:16:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=27031"},"modified":"2021-10-18T04:16:31","modified_gmt":"2021-10-18T01:16:31","slug":"como-gerar-o-token-de-acesso-de-longa-duracao-do-facebook","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/pt-pt\/como-gerar-o-token-de-acesso-de-longa-duracao-do-facebook\/","title":{"rendered":"Como gerar o token de acesso de longa dura\u00e7\u00e3o do Facebook"},"content":{"rendered":"<p>Voc\u00ea j\u00e1 se deparou com tarefas de API? Ent\u00e3o, provavelmente voc\u00ea j\u00e1 ouviu falar sobre o &#8216;Token de Acesso&#8217;. O token de acesso \u00e9 um tipo de token de identidade que os sites sociais (como o Facebook) usam para realizar opera\u00e7\u00f5es em nome de um usu\u00e1rio.<\/p>\n<p>Em outras palavras, um aplicativo com token de acesso v\u00e1lido pode buscar sua lista de amigos, postar em seu mural, obter seus detalhes b\u00e1sicos como e-mail, data de nascimento, etc. Claro, voc\u00ea precisa permitir a permiss\u00e3o para todos esses acessos. Sem a sua permiss\u00e3o, o token de acesso n\u00e3o pode acessar as informa\u00e7\u00f5es dos usu\u00e1rios.<\/p>\n<p>Ao falar sobre a API do Facebook, sua API fornece 2 tipos de tokens: tokens de acesso de curta e longa dura\u00e7\u00e3o.<\/p>\n<p>O token de curta dura\u00e7\u00e3o possui um curto per\u00edodo de tempo. Isso significa que voc\u00ea n\u00e3o pode dar chamadas de API depois que o token expira. Voc\u00ea receber\u00e1 uma resposta n\u00e3o autorizada assim que o token expirar. Cada chamada de API requer token de acesso v\u00e1lido como um par\u00e2metro, ent\u00e3o apenas eles enviam uma resposta de volta.<\/p>\n<p>Uma vez que o token expirou, voc\u00ea precisa pedir ao usu\u00e1rio para passar pelo processo de login novamente usando o seu aplicativo.<\/p>\n<p>Isso n\u00e3o faz sentido. \u00c9 uma esp\u00e9cie de processo repetido do qual o usu\u00e1rio n\u00e3o gosta na verdade.<\/p>\n<p>\u00c9 aqui que devemos usar o conceito de <a href=\"https:\/\/developers.facebook.com\/docs\/facebook-login\/access-tokens\/refreshing\/#generate-long-lived-token\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">token de acesso<\/a> de <a href=\"https:\/\/developers.facebook.com\/docs\/facebook-login\/access-tokens\/refreshing\/#generate-long-lived-token\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">longa vida do Facebook<\/a>. Um token de longa dura\u00e7\u00e3o geralmente dura cerca de 60 dias. E \u00e9 muito melhor do que usar tokens de curta dura\u00e7\u00e3o.<\/p>\n<p>Dito isso, vamos ver como gerar um token de acesso Long-Lived do Facebook.<\/p>\n<h3>Registrar um aplicativo<\/h3>\n<p>Para come\u00e7ar, primeiro voc\u00ea precisa registrar um aplicativo no Facebook Developers. Voc\u00ea receber\u00e1 um guia passo a passo sobre como registrar e configurar um aplicativo <a href=\"https:\/\/developers.facebook.com\/docs\/apps\/register\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">aqui<\/a>.<\/p>\n<p>Depois de registrar o aplicativo, copie o ID e o segredo do aplicativo que solicitamos em um momento.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20729-6082209b36be8.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20729-6082209b36be8.png\" alt=\"Como gerar o token de acesso de longa dura\u00e7\u00e3o do Facebook\" ><\/a><\/p>\n<h3>Gerar um token de acesso duradouro<\/h3>\n<p>Agora, temos o ID do aplicativo e as chaves secretas do aplicativo. Crie um arquivo chamado <code>config.php<\/code>e adicione nossas chaves usando o m\u00e9todo PHP define().<\/p>\n<p><strong>config.php<\/strong><\/p>\n<pre><code>&lt;?php\ndefine('CLIENT_ID', 'YOUR_CLIENT_ID');\ndefine('CLIENT_SECRET', 'YOUR_CLIENT_SECRET');\ndefine('REDIRECT_URL', 'YOUR_SITE_URL\/redirect.php');\n?&gt;<\/code><\/pre>\n<p>No c\u00f3digo acima, especificamos REDIRECT_URL para YOUR_SITE_URL \/ redirect.php. Ent\u00e3o, crie o arquivo <code>redirect.php<\/code>. Este \u00e9 o arquivo onde escreveremos o c\u00f3digo para gerar um token de longa vida.<\/p>\n<p>Mas antes disso, precisamos criar uma URL de login que redirecione um usu\u00e1rio para a p\u00e1gina de login do Facebook para autorizar seu aplicativo. Crie um arquivo <code>login.php<\/code>e adicione o c\u00f3digo abaixo nele.<\/p>\n<p><strong>login.php<\/strong><\/p>\n<pre><code>&lt;?php\nrequire_once \"config.php\";\necho \"&lt;a href='https:\/\/www.facebook.com\/v2.10\/dialog\/oauth?client_id=\". CLIENT_ID. \"&amp;redirect_uri=\". REDIRECT_URL. \"'&gt;Login To Facebook&lt;\/a&gt;\";\n?&gt;<\/code><\/pre>\n<p>Quando um usu\u00e1rio clica no link para fazer login no Facebook, ele redireciona para a p\u00e1gina de login do Facebook. Assim que eles permitirem a permiss\u00e3o para seu aplicativo, o usu\u00e1rio ir\u00e1 redirecionar para YOUR_SITE_URL \/ redirect.php. Em troca, obtemos um c\u00f3digo como par\u00e2metro GET do Facebook. Usando este valor de c\u00f3digo, geramos um primeiro token de acesso de curta dura\u00e7\u00e3o. E ent\u00e3o, por meio desse token de curta dura\u00e7\u00e3o, geramos um token de acesso de longa dura\u00e7\u00e3o.<\/p>\n<p>Certifique-se de que a extens\u00e3o CURL esteja habilitada em seu servidor, caso contr\u00e1rio, nosso c\u00f3digo n\u00e3o funcionar\u00e1 como esperado.<\/p>\n<p><strong>redirect.php<\/strong><\/p>\n<pre><code>&lt;?php\nrequire_once \"config.php\";\n\u00a0\nif (isset($_GET['code']) &amp;&amp; !empty($_GET['code'])) {\n\u00a0\u00a0\u00a0\u00a0$post = ['client_id'=&gt; CLIENT_ID, \"redirect_uri\" =&gt; REDIRECT_URL, \"client_secret\" =&gt; CLIENT_SECRET, 'code' =&gt; $_GET['code']];\n\u00a0\u00a0\u00a0\u00a0$arr_result = getFBResponse($post);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\/\/generate long-lived access token\n\u00a0\u00a0\u00a0\u00a0if (isset($arr_result-&gt;access_token)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$post1 = ['grant_type' =&gt; 'fb_exchange_token', 'client_id'=&gt; CLIENT_ID, \"client_secret\" =&gt; CLIENT_SECRET, 'fb_exchange_token' =&gt; $arr_result-&gt;access_token ];\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$arr_result1 = getFBResponse($post1);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo \"Long Lived Token: \". $arr_result1-&gt;access_token;\n\u00a0\u00a0\u00a0\u00a0}\n}\n\u00a0\nfunction getFBResponse($arr_post = []) {\n\u00a0\u00a0\u00a0\u00a0$ch = curl_init();\n\u00a0\u00a0\u00a0\u00a0curl_setopt($ch, CURLOPT_URL,'https:\/\/graph.facebook.com\/v2.10\/oauth\/access_token');\n\u00a0\u00a0\u00a0\u00a0curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n\u00a0\u00a0\u00a0\u00a0curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($arr_post));\n\u00a0\u00a0\u00a0\u00a0$response = curl_exec($ch);\n\u00a0\u00a0\u00a0\u00a0return json_decode($response);\n}\n?&gt;<\/code><\/pre>\n<p>\u00c9 isso! Esperamos que voc\u00ea conhe\u00e7a o processo de gera\u00e7\u00e3o de um token de acesso de longa dura\u00e7\u00e3o para a API do Facebook. Por favor, compartilhe suas id\u00e9ias na se\u00e7\u00e3o de coment\u00e1rios abaixo.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Voc\u00ea est\u00e1 procurando gerar um token de acesso de longa vida para o Facebook? Neste artigo, estudamos como criar token de acesso de longa vida por meio de PHP e CURL.<\/p>\n","protected":false},"author":1,"featured_media":20730,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[278],"tags":[848],"class_list":["post-27031","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-9","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/27031","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/comments?post=27031"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/27031\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/media\/20730"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/media?parent=27031"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/categories?post=27031"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/tags?post=27031"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}