franciscojvp78 Posted April 12, 2012 at 05:10 PM Report #448807 Posted April 12, 2012 at 05:10 PM Olá, estou a tentar colocar os albums que tenho no facebook na minha página web. Já estou a fazer o processo automático para receber o meu próprio Access_Token e aceder à respectiva Graph. Que actualmente é esta: https://graph.facebook.com/100003672378482/albums?access_token=AAAFdV5RZCX08BAEnLtwAPZAmZApcOEzPHsKcSvN7IMSAo1ZAV3NkZB1ZB6QAyzg9ZBZB6BnXADaFpeMJ54zZCSGG3xE4dmL1GRZATdZBCEkZAwhuqQZDZD Se não conseguirem aceder ao link é porque o Access_Token já expirou.. mas continuando, através do browser consigo receber informação... aqui fica um excerto: { "data": [ { "id": "117191438413268", "from": { "name": "Cabaz Em Casa", "id": "100003672378482" }, "name": "FRUTAS ... Cabaz em Casa", "link": "http://www.facebook.com/album.php?fbid=117191438413268&id=100003672378482&aid=20037", "cover_photo": "117246445074434", "privacy": "custom", "count": 25, "type": "normal", "created_time": "2012-04-10T15:43:34+0000", "updated_time": "2012-04-10T17:02:54+0000", "can_upload": true }, { "id": "116582438474168", "from": { "name": "Cabaz Em Casa", "id": "100003672378482" }, "name": "LEGUMES...Cabaz em Casa", . . . etc mas no PHP quando faço o file_get_contents do endereço ele não devolve nada, fica vazio.. Já fiz uma pesquisa pela Google e supostamente devia funcionar.. Se alguém conseguir ajudar agradeço.. 🙂 Cumprimentos! 😄
clera Posted April 13, 2012 at 11:57 AM Report #448928 Posted April 13, 2012 at 11:57 AM ok, ja consegui, mas deves estar a fazer alguma coisa estranha, que pelo link que deste consegui aceder ao json. bem.. $jsonurl = "https://graph.facebook.com/100003672378482/albums?access_token=AAAFdV5RZCX08BAEnLtwAPZAmZApcOEzPHsKcSvN7IMSAo1ZAV3NkZB1ZB6QAyzg9ZBZB6BnXADaFpeMJ54zZCSGG3xE4dmL1GRZATdZBCEkZAwhuqQZDZD"; $json = file_get_contents($jsonurl); $json_output = json_decode($json, true);//o true é para tornar o resultado ser dado como uma array assoc. $albumId=$json_output['data'][1]["id"]; //depois para aceders às fotos dos albuns é só usares o id anterior e ires buscar as fotos pelo mesmo processo $jsonImg = "https://graph.facebook.com/".$albumId."/photos?access_token=AAAFdV5RZCX08BAEnLtwAPZAmZApcOEzPHsKcSvN7IMSAo1ZAV3NkZB1ZB6QAyzg9ZBZB6BnXADaFpeMJ54zZCSGG3xE4dmL1GRZATdZBCEkZAwhuqQZDZD"; $jsonImgUrl = file_get_contents($jsonImg); $jsonImgA= json_decode($jsonImgUrl , true); //print_r( $jsonImgA); $img=$jsonImgA["data"][0]["picture"]; print '<img src="'.$img.'"/>';
franciscojvp78 Posted April 13, 2012 at 05:45 PM Author Report #449048 Posted April 13, 2012 at 05:45 PM Experimentei no próprio pc (localhost) e não devolveu nada.. Talvez seja o servidor que não permite o uso do file_get_contents. Vou experimentar com o servidor online a ver se funciona. Obrigado pela ajuda! Edit: Exacto, no servidor online já funcionou! Obrigado 😄
franciscojvp78 Posted April 13, 2012 at 06:39 PM Author Report #449063 Posted April 13, 2012 at 06:39 PM Só mais uma duvida.. eu penso que esse Access_token tem limite de tempo. Mas existe maneira de conseguir que fique sempre activo? Porque caso ficasse poderia mostrar as fotos directamente do facebook, caso contrário teria de criar um botão que sempre que o administrador carregasse ele actualizava a base de dados com as informações recebidas do facebook. Cumprimentos!
mjamado Posted April 13, 2012 at 07:07 PM Report #449064 Posted April 13, 2012 at 07:07 PM Só mais uma duvida.. eu penso que esse Access_token tem limite de tempo. Mas existe maneira de conseguir que fique sempre activo? Sim, tem limite de tempo; não, não consegues que fique sempre activo. No entanto, ao expirar, não é preciso voltar a pedir autorização, basta pedir um novo token. Um mecanismo fácil de controlar é, à entrada para o método que faz o pedido dos dados, verificas se o token já expirou (parto do princípio que guardas o token e respectiva data de expiração nalgum lado) e pedes outro. Daí para a frente é igual. O utilizador nem dá por nada (eventualmente, pode notar um atraso maior do que o normal, mas pouco). "Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.
franciscojvp78 Posted April 14, 2012 at 10:43 AM Author Report #449128 Posted April 14, 2012 at 10:43 AM mjamado, exactamente.. basta pedir um novo Access_Token. Está direitinho a funcionar, Obrigado! ? 😕
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now