Pergunta

Digamos que eu possuo/controle uma página do Facebook onde os eventos são postados. Eu gostaria de exibir esses eventos em outro site (no meu caso, um blog WordPress, mas essa não é a parte importante) em uma página de "próximos eventos".

O que não tenho certeza é: a API do Facebook é utilizável "externamente" assim? Eu baixei a biblioteca PHP e tenho um aplicativo de demonstração em execução que funciona De dentro do Facebook (ou seja, emitindo o FBML que o Facebook.com interpreta e exibe para o usuário conectado), mas no meu caso eu quero terceiros (meu servidor da web) para consultar o Facebook de vez em quando, em vez de os visitantes do site solicitarem diretamente dados (html /Json/etc.) Do próprio Facebook.

Esse tipo de coisa é possível com a API do Facebook? Como meu servidor da web se autenticará? Que informações eu tenho que armazenar?

Nota: Estou procurando informações mais em um nível conceitual "diagrama de sequência", não apenas pedindo código. Essa parte eu posso descobrir eu mesmo. ;) Infelizmente, o Google e o Wiki do desenvolvedor do FB não foram totalmente próximos. O que eu preciso saber para que eu possa começar a codificar?

Foi útil?

Solução

Esta é uma visão geral básica de como eu fiz isso para alguns dos meus clientes que queriam funcionalidade semelhante:

  1. Crie um aplicativo bastante básico que solicite Permissões estendidas, especificamente "offline_access" e o que mais você precisa
  2. Armazene o resultante Chave de sessão no seu banco de dados com o Uid
  3. Crie um serviço webs seguro e autenticado para o seu aplicativo, que permite obter as informações necessárias para um UID que você fornece, usando a sessão que você armazenou no seu banco de dados
  4. No site, faça solicitações para o serviço da web do seu aplicativo, certifique-se de armazenar em cache os resultados por um certo período de tempo e faça apenas uma nova solicitação ao seu serviço da web assim que o cache expire (eu uso 5-10 minutos para a maioria dos meus)

Então, basicamente, seu aplicativo do Facebook age como um proxy entre o site e o usuário, fazendo todos os autenticação e solicitação usando meios legítimos.

Eu usei um serviço da web porque só queria manter um aplicativo do Facebook para várias necessidades do cliente. Funciona assim (em um diagrama de arte ASCII não muito esperto):

Facebook User 1 \                    / Client Website 1
Facebook User 2  --- Facebook App ---  Client Website 2
Facebook User 3 /                    \ Client Website 3

Observação: Eu só fiz isso para usuários, não páginas, para que sua milhagem possa variar.

Outras dicas

Além de informações do usuário, você não pode buscar outros dados do Facebook.

Mas você pode tentar de outra maneira - digamos, crie um aplicativo que armazena eventos e outras informações relevantes em um servidor da web e, em seguida, seu outro site pode acessar facilmente essas informações.

Você pode fazer Events.get Com a API do Facebook, então forneça o ID da página/perfil para o qual gostaria de obter os eventos. Dependendo de como sua página está configurada, você pode precisar autenticar, basta usar sua conta do Facebook, pois você deve ter acesso a todos os eventos. Ah, e certifique -se de fazer bastante armazenamento em cache para não acertar o Facebook em todas as páginas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top