Como extrair Post Shares da Facebook Graph API

Como extrair Post Shares da Facebook Graph API

No Comments on Como extrair Post Shares da Facebook Graph API

Internalizar os conteúdos de nossas redes sociais – Tweets, Facebook Posts, fotos no Instagram… – é vital para que possamos ter controle sobre nossa presença online. Muitas vezes isso significa internalizar também Likes, Comments, Shares, Favorites, Retweets, Replies. No entanto, isso nem sempre é fácil – seja por APIS incompletas, seja por detalhes estranhos de como os dados devem ser obtidos. Este artigo explora uma dessas exceções: a de como Shares se comportam na API do Facebook.

Se você usa a API do Facebook para consultar posts, já deve ter percebido que listar as pessoas/posts onde seu conteúdo foi compartilhado – e não apenas o número de vezes – pode ser bastante complicado.

Para começar, ele não é um campo que você pode pedir junto com o corpo do post. Consultando https://graph.facebook.com/v2.2/<post id>?fields=likes,comments,shares, recebemos algo parecido com a figura abaixo:

Facebook Jason Example 1

 

Como podemos ver, “likes” e “comments” ambos têm uma lista de objetos, que contém cada um dos comentários e likes que o post recebeu; enquanto isso, “shares” tem apenas um atributo “count”, com a quantidade de shares. Não é bom o suficiente.

Olhando a documentação, podemos encontrar um outro endpoint “https://graph.facebook.com/v2.2/<post_id>/sharedposts“, que teoricamente tem os shares dos posts. Se você der sorte, ao consultar esse endpoint do seu post, receberá uma lista de objetos com todos os posts que compartilharam o seu conteúdo; se for como a maior parte dos meus posts, você receberá uma lista vazia.

Na verdade, isso não tem nenhuma relação com sorte: a verdade é que um post e seu conteúdo são entidades separadas para o Facebook; então, se você tem um post com uma foto ou um vídeo, ele tem mais uma ID que pode ser consultada. Podemos ver isso com outra consulta: https://graph.facebook.com/v2.2/<post id>?fields=id,object_id onde obtemos um resultado parecido com isso:

JsonExample2

As IDs podem ou não ser semelhantes. No nosso exemplo, a “object ID” é a segunda parte do Post ID, mas, muitas vezes, pode ser um número completamente diferente. A “object_id” é a ID que contém os shares. Então, consultemos https://graph.facebook.com/v2.2/<object_id>/sharedposts

JsonExample3

Finalmente temos nossos Shares!

Shares contém diversos tipos de informações úteis em análises de presença, como o texto usado para compartilhar o nosso post, a ID de compartilhamento, entre outros.

 

About the author:

Related Posts

Back to Top