Tenho um aplicativo que usa a antiga chamada de API REST Friends.getAppUsers
para obter a lista de amigos do usuário atual que autorizou meu aplicativo.
Eu li a documentação, como faço isso com a API Graph? Qual seria um exemplo disso?
Tenho um aplicativo que usa a antiga chamada de API REST Friends.getAppUsers
para obter a lista de amigos do usuário atual que autorizou meu aplicativo.
Eu li a documentação, como faço isso com a API Graph? Qual seria um exemplo disso?
Eu pesquisei por um tempo e também pensei que isso não seria possível usando a API Graph.
No entanto, postei uma pergunta semelhante, Substituição para a antiga chamada GetAppUsers para ver os amigos de um usuário que usam meu aplicativo? , para a API específica que estava usando e recebi uma ótima resposta geral.
https://graph.facebook.com/me/friends?fields=installed
ou mais geralmente
https://graph.facebook.com/{user id}/friends?fields=installed
Isso retorna todos os amigos, com o campo adicional "installed = true" para aqueles amigos que usam o aplicativo.
Aqui está ele funcionando no Graph API Explorer :
/me/friends?fields=id,name,installed
, o que preserva a ordem dos campos e as informações padrão que são retornadas sem?fields=
serem definidas (verdadeiro em 05/12/2012).installed
não é verdade). Precisamos verificar manualmente se oinstalled
campo existe para cada usuário.Isso pode ser feito com FQL.
QED!
fonte
me()
vez do?Sim, a API Graph está terrivelmente documentada. Não vejo nenhuma documentação para um tipo de "aplicativo" , mas eles fazem referência às informações de um aplicativo nos documentos:
https://graph.facebook.com/2439131959
Então, talvez você possa obter os membros do aplicativo usando a sintaxe de grupo?
https://graph.facebook.com/2439131959/members
Você precisará de uma sessão autenticada para testá-lo. Caso contrário, parece que o Facebook está nos pressionando a usar FQL para enviar consultas diretamente:
http://developers.facebook.com/docs/reference/fql/application
Assim, você pode passar uma consulta FQL para obter informações sobre seu aplicativo.
fonte
API REST antiga:
Nova API Graph:
fonte
Eu fiz muitas investigações sobre este assunto. Pelo que eu posso dizer, não há como fazer
Friends.getAppUsers
usando Graph API. Todos os SDKs mais recentes fornecidos pelo Facebook usam a API REST antiga para fazer amigos usando o aplicativo.fonte
Usando o restFB , fiz o seguinte (obrigado Igy / Alex pela orientação). Observe que o Facebook retorna uma matriz de IDs de amigos com "installed" = true se o usuário estiver instalado (como pode ser visto aqui ).
Primeiro estenda a classe User, adicionando um
installed
campo:Em seguida, usando o DefaultFacebookClient:
fonte
A solução alternativa é você mesmo fazer a filtragem. Presumivelmente, você tem todos os uids dos usuários que se inscreveram em seu aplicativo em seu próprio banco de dados. Portanto, primeiro pegue os uids de todos os amigos dos usuários e selecione os usuários de seu banco de dados que possuem uids correspondentes.
O novo programa da API Graph do Facebook parece muito mal executado e não muito bem pensado. Parece que eles se apressaram em publicá-lo no Facebook f8 antes que estivesse maduro, e muitas funcionalidades que estavam disponíveis antes estão faltando.
fonte
Você ainda pode chamar a API REST antiga na nova API Graph. Isso é perfeitamente válido.
Uma maneira alternativa é usar FQL para obter os amigos do usuário do aplicativo.
Não tenho certeza se há uma maneira de fazer isso usando apenas a API Graph.
fonte