<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Arquivos Integração - Diego Nogare</title>
	<atom:link href="https://diegonogare.net/tags/integracao/feed/" rel="self" type="application/rss+xml" />
	<link>https://diegonogare.net/tags/integracao/</link>
	<description>Consultor Executivo de IA &#38; ML</description>
	<lastBuildDate>Tue, 15 Apr 2025 13:45:37 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://i0.wp.com/diegonogare.net/wp-content/uploads/2025/06/cropped-cropped-DN-Black-300x300-1.png?fit=32%2C32&#038;ssl=1</url>
	<title>Arquivos Integração - Diego Nogare</title>
	<link>https://diegonogare.net/tags/integracao/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">247556142</site>	<item>
		<title>Integrando o R com o seu Facebook</title>
		<link>https://diegonogare.net/2017/07/integrando-o-r-com-o-seu-facebook/</link>
		
		<dc:creator><![CDATA[Diego Nogare]]></dc:creator>
		<pubDate>Sun, 23 Jul 2017 22:01:37 +0000</pubDate>
				<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[Data Science]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Integração]]></category>
		<category><![CDATA[linguagem R]]></category>
		<guid isPermaLink="false">http://diegonogare.net/?p=1545</guid>

					<description><![CDATA[<p>Fala galera! A ideia deste post é mostrar como interagir com o Facebook através do R usando o pacote RFacebook. O pacote permite a interação do R com o Facebook usando uma chave de autenticação, chamada Token, que é fornecida ao criar um aplicativo do Facebook. Esta chave tem duração de 2 horas e pode...</p>
<p>O post <a href="https://diegonogare.net/2017/07/integrando-o-r-com-o-seu-facebook/">Integrando o R com o seu Facebook</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Fala galera! A ideia deste post é mostrar como interagir com o Facebook através do R usando o pacote RFacebook.</p>
<p>O pacote permite a interação do R com o Facebook usando uma chave de autenticação, chamada Token, que é fornecida ao criar um aplicativo do Facebook. Esta chave tem duração de 2 horas e pode ser renovada sempre que precisar. É importante lembrar que este Token é para usar em tempo de desenvolvimento, quando quiser colocar o aplicativo para produção, você deve buscar outra forma de autenticação do seu aplicativo no Facebook, uma que não expire em 2 horas. Neste post, como tem o objetivo de mostrar a integração, o Token de desenvolvimento é suficiente.</p>
<h2>Criando o aplicativo no Facebook</h2>
<p>Você precisa de uma conta válida no Facebook. Ao se conectar ao Facebook, vá até o link: <a href="https://developers.facebook.com/apps" target="_blank" rel="noopener noreferrer">https://developers.facebook.com/apps</a></p>
<p>Ao acessar o link de desenvolvimento do Facebook, clique no botão para adicionar um novo aplicativo.</p>
<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/blogdiegonogare.azurewebsites.net/wp-content/uploads/2017/07/072317_2159_Integrandoo1-1.png?w=640" alt="" /></p>
<p>Vai abrir uma tela perguntando o nome do App, informe um nome do seu app.</p>
<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/blogdiegonogare.azurewebsites.net/wp-content/uploads/2017/07/072317_2159_Integrandoo2-2.png?w=640" alt="" /></p>
<p>Após, clique no botão para gerar o ID do aplicativo. Para questões de segurança você deve informar o captcha e pronto.</p>
<p>Algumas vezes é necessário que a extensão de login do facebook seja habilitada.</p>
<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/blogdiegonogare.azurewebsites.net/wp-content/uploads/2017/07/072317_2159_Integrandoo3-2.png?w=640" alt="" /></p>
<p>Para garantir, habilite esta extensão. Neste nosso exemplo, informe que será um login por WWW. Ao abrir a soliticação de qual endereço do site, informe: <a href="http://localhost:1410/" target="_blank" rel="noopener noreferrer">http://localhost:1410/</a>. Para este nosso exemplo muitas vezes não pede esta autenticação, mas já deixe habilitado para caso precise. Pode salvar esta alteração.</p>
<p>Em seguida, acesse a URL: <a href="https://developers.facebook.com/tools/explorer/" target="_blank" rel="noopener noreferrer">https://developers.facebook.com/tools/explorer/</a> para pegar o Token temporário (aquele de 2h de duração).</p>
<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/blogdiegonogare.azurewebsites.net/wp-content/uploads/2017/07/072317_2159_Integrandoo4-2.png?w=640" alt="" /></p>
<p>Caso você mantenha esta tela aberta por mais de 2hs, uma mensagem informando que o Token expirou é apresentada.</p>
<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/blogdiegonogare.azurewebsites.net/wp-content/uploads/2017/07/072317_2159_Integrandoo5-2.png?w=640" alt="" /></p>
<p>Pronto, com isso, seu aplicativo do Facebook está disponível.</p>
<h2>Começando o desenvolvimento com o R</h2>
<p>Para integrar, será usado o pacote RFacebook criado por <strong>Pablo Barbera</strong> (<a href="mailto:pablo.barbera@nyu.edu?subject=Thanks%20for%20the%20package%20RFacebook" target="_blank" rel="noopener noreferrer">pablo.barbera@nyu.edu</a>).</p>
<p>Instale e inicie o pacote, para isso, pode usar os códigos abaixo:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">#Instalação do pacote

install.packages("Rfacebook")

#Carregamento do pacote

library(Rfacebook)</pre>
<p>Também faça o armazenamento do token de acesso em uma variável. Volte até o aplicativo que você criou, vá até a URL que gera o Token, e copie o valor. Para colocar em uma variável, faça a atribuição como a linha de código abaixo:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">appToken &lt;- 'SEU_TOKEN_DE_ACESSO'</pre>
<p>Para garantir que o acesso está funcionando, pode-se testar o retorno de alguma função. Neste caso, usaremos a função GetUsers que retorna os dados de perfil de um usuário específico. Praticamente todas funções exige que seja passado o token de acesso. Esta função não é diferente, veja abaixo como retornar os dados de um usuário.</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">eu &lt;- getUsers("me", token = appToken)

eu$name</pre>
<p>O resultado desta execução retorna o perfil de quem foi solicitado. O termo &#8220;me&#8221; retorna o perfil de quem está definido como criador do App no Facebook. Você pode passar outro ID de usuário e então os dados do perfil será retornado. Dentre a lista de atributos que retornaram, é possível retornar o nome utilizando o código $name.</p>
<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/blogdiegonogare.azurewebsites.net/wp-content/uploads/2017/07/072317_2159_Integrandoo6-1.png?w=640" alt="" /></p>
<p>Também é possível retornar a lista de páginas que foi curtida por um usuário. A função GetLikes permite isso. O código abaixo apresenta a lista de nomes das páginas que o perfil &#8220;me&#8221; curtiu.</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">meuslikes &lt;- getLikes("me", token=appToken)

meuslikes$names</pre>
<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/blogdiegonogare.azurewebsites.net/wp-content/uploads/2017/07/072317_2159_Integrandoo7-1.png?w=640" alt="" /></p>
<p>Uma forma de retornar as interações de uma página específica é usar a função GetPage. Esta função recebe alguns parâmetros para retornar os dados necessários, no exemplo passaremos três paramentos, sendo o nome da página que já foi armazenado na variável nomePagina; a quantidade de elementos a serem retornados, mantido na variável Quantidade e por fim o já utilizado token de acesso.</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">nomePagina &lt;- "NGRSolutions"

Quantidade &lt;- 10

pagina &lt;- getPage(page = nomePagina, token = appToken, n = Quantidade)</pre>
<p>Se observar a estrutura do objeto pagina, que armazena o retorno da função GetPage, é possível encontrar diversos atributos da página retornada. Para acessar esta estrutura, uma forma é chamar a função str() passando o objeto que quer consultar como parâmetro. Veja o código abaixo.</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">str(pagina)</pre>
<p>Repare os atributos marcados em amarelo na imagem abaixo, cada um deles retorna uma lista de valores sobre aquela pagina retornada.</p>
<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/blogdiegonogare.azurewebsites.net/wp-content/uploads/2017/07/072317_2159_Integrandoo8-1.png?w=640" alt="" /></p>
<p>Para seguir com o experimento que estamos propondo, vamos retornar um valor do atributo id, que é responsável pelo id do post. Neste exato momento, o elemento número 5 do retorno é específico de um post que publicamos há alguns dias sobre uma promoção e gerou algumas interações. A escolha dele é justamente para podermos coletar retornos desta postagem. Para reutilizar o código desta publicação, ela será armazenada na variável codigoPost, como segue o código abaixo.</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">codigoPost &lt;- pagina$id[5]</pre>
<p>Um novo elemento que pode-se usar para interagir com o Facebook é o retorno de detalhes de um post, utilizando a função GetPost. Esta função recebe os parâmetros como o código do post que está interessado em ter os detalhes e também o token. O resultado será armazenado na variável postagem, e esta variável possui uma estrutura, seguindo a mesma linha que fizemos com o objeto pagina.</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">postagem &lt;- getPost(post = codigoPost, token = appToken)</pre>
<p>Inclusive é possível, também, saber a quantidade das reações de interação com o post. Para isso, use a função GetReactions, como o código abaixo.</p>
<pre class="EnlighterJSRAW" data-enlighter-language="null">reacoes &lt;- getReactions(post = codigoPost, token = appToken)</pre>
<p>Seguindo com o propósito inicial, vamos retornar o nome de todos as pessoas que curtiram o post. Assim pode-se pegar o nome e o id de todos os que curtiram. A partir do ID, pode-se retornar à primeira função que vimos lá em cima, e retornar os detalhes daquele perfil&#8230; Ao retornar o atributo likes do objeto postagem, todos os elementos que curtiram a postagem são retornados. Neste caso, para trabalhar em forma mais tranquila, converte-se a estrutura de likes em um dataframe. Para facilitar ainda mais, vamos atribuir os nomes das colunas do dataframe em Nome e ID, para ter o objeto todosNomes com duas colunas internas, sendo a Nome e a Id. Veja o código abaixo.</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">todosNomes &lt;- as.data.frame(postagem$likes)

colnames(todosNomes) &lt;- c('Nome','Id')</pre>
<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/blogdiegonogare.azurewebsites.net/wp-content/uploads/2017/07/072317_2159_Integrandoo9-2.png?w=640" alt="" /></p>
<p>A função RunIF retorna valores aleatórios entre um intervalo mínimo e máximo, e utilizando esta função, é possível retornar um valor qualquer entre 1 e o número de pessoas que comentaram o post. Como também quero retornar apenas 1 nome deste retorno, vou usar a função head() que retorna os primeiros registros de um dataframe. Ao passar por parâmetro os dados para &#8220;sortear&#8221; e a quantidade de retorno sendo 1, a função head() devolve um único número aleatório válido. Ao buscar este número dentro do dataframe todosNomes criados no passo anterior, é possível saber o nome de quem foi escolhido. Para retornar o ID do sorteado, pode-se pesquisas pelo nome diretamente no dataframe. Veja o código abaixo:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">nomeAleatorio &lt;- todosNomes[head(as.integer(runif(todosNomes$Nome, 1, nrow(todosNomes))), 1), 'Nome']

idAleatorio &lt;- todosNomes[(todosNomes$Nome == nomeAleatorio),'Id']</pre>
<p>Para encerrar o experimento deste artigo, vamos usar o método updateStatus, que faz a postagem no Facebook. Este método recebe os parâmetros text, token e link. Sendo o text a mensagem a ser publicada, o token como já vimos e por fim, o link, como sendo uma URL para compartilhar junto ao post. Veja o código abaixo esta atualização no Facebook.</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">updateStatus(text = 'Postagem no Facebook através do R. Li em um post no blog Think Think SQL.', token = appToken, link = 'https://diegonogare.net/2017/07/integrando-o-r-com-o-seu-facebook/')

</pre>
<p>Agora abra o facebook e veja esta publicação em seu perfil. Parabéns e obrigado por compartilhar!</p>
<p>Hah, porque mostrei como retornar os nomes de quem curtiu e acabei não usando no post?? Usei o nome para fazer o sorteio, também usei para postar no facebook o nome do vencedor. Faça seus experimentos, inclusive subi no github o código com esta utilização. Caso queira, o código em <a href="https://github.com/diegonogare/Scripts-R">R funcionando, e você pode ver aqui</a>!</p>
<p>Por fim, caso não tenha visto o Github ainda, <a href="https://diegonogare.net/2014/11/usando-git-e-github-pra-versionamento-e-colaboracao-de-codigo-t-sql/">neste post falei como usar o Github</a>.</p>
<p>O post <a href="https://diegonogare.net/2017/07/integrando-o-r-com-o-seu-facebook/">Integrando o R com o seu Facebook</a> apareceu primeiro em <a href="https://diegonogare.net">Diego Nogare</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1545</post-id>	</item>
	</channel>
</rss>
