Pergunta

Estou desenvolvendo um site para um cliente que já tem as fotos de seus produtos no Facebook, e ele quer que os mesmos álbuns para ser replicado sobre seu site. Eu já estava usando o Facebook Connect, por isso deixei uma combinação de photos.getAlbums e photos.get para dinamicamente fazer as galerias.

Até aí tudo bem, mas então eu percebi que se não houver usuário logado trough FBC, nenhuma sessão é criado e a API torna-se inutilizável, mesmo para o conteúdo que está disponível publicamente. Eu, obviamente, quero mostrar os álbuns para todos e não apenas as pessoas que se conectam suas contas.

É assim que todas as funções no Facebook trabalho API? Qual é a melhor (mais fácil de implementar) solução para essa situação?

Foi útil?

Solução

Em setembro de 2010, agora você pode autenticar apenas como uma aplicação, sem usuário associado. Consulte http://developers.facebook.com/docs/authentication/ para mais detalhes. Ou você pode executar esse código exemplo para obter um token de acesso:

curl -F grant_type=client_credentials \
 -F client_id=your_app_id \
 -F client_secret=your_app_secret \
 https://graph.facebook.com/oauth/access_token

Outras dicas

Para o registro, eu consegui resolver esta situação através do desenvolvimento de um pequeno backend que requer o cliente para acessar Facebook uma vez e dar offline_access permissão estendida para o aplicativo FB, para que eu possa salvar a sua chave de sessão e usá-lo para autenticar o cliente Facebook API cada vez que eu precisar usar FQL para obter conteúdo não-público .

Pode-se, obviamente, adicionar um pouco de caching no meio para evitar pedidos desnecessários ao Facebook, mas ele foi muito bem trabalhado por meses agora, sem atingir os limites que eu saiba.

Isso não faz sentido para mim -. Eu tenho um aplicativo (relativamente simples) que presta no facebook, mesmo que o usuário nunca tenha conectado ao facebook antes (caso em que exibe demonstração de dados)

Ao usar a biblioteca facebook PHP, eu só fazer isso:

$ facebook = new Facebook ($ api_key, $ secreta);

No id de sessão necessário -., Mas, obviamente, funções da API que dependem de informações sobre o usuário não está indo para o trabalho

Você também pode olhar para um "sessão infinita" para seu aplicativo -. você poderia criar uma chave de sessão infinita para si mesmo e usar essa sessão para acessar a API

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