El 3 de junio, Facebook actualizo el Graph API y ahora requiera un “access token” para poder leer el news feed o wall post o muro, asà sean públicos. Este cambio ha hecho que muchas paginas/scripts dejen de funcionar, es por esto luego de investigar que encontre una solución que les dejo acá.
esto es lo que se hacia antes del 3 de junio:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function fetchUrl($url){$ch=curl_init();curl_setopt($ch, CURLOPT_URL,$url);curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);curl_setopt($ch, CURLOPT_TIMEOUT,20);$retData=curl_exec($ch);curl_close($ch);return$retData;}$profile_id="1234567890";$data['feed_data']= fetchUrl("http://graph.facebook.com/{$profile_id}/feed");
Con los cambios recientes hay que hacer una pequena modificacion:
Se agregan dos componentes para crear la url que nos devolvera la feed y estas son simplemente la app id y la app secret.Estas nos sirven para pedir un “Token” que sera usado para pedir el “Feed”. La app id y app secret se pueden obtener facilmente creando una aplicacion en www.facebook.com/developers.
Espero que les sea util
Hay varias formas de usar distintas hojas de estilo según el browser que nuestro usuario tenga. Pero lejos me parece que la que mas control y seguridad no da es simplemente con php elegir el archivo correspondiente según el resultado del HTTP_USER_AGENT. Lo ideal no es cargar css completamente distintos sino cargar uno general para todos y luego según el browser cargar el uno que corrija los errores particulares, total como lo cargamos secundariamente los primeros selectores serán sobre escritos.
Por ejemplo:
Tambien es recomendable incluir la version que estamos usando de forma que nos aseguramos que estamos viendo el ultimo archivo modificado y no una version cacheada.
Bueno el código es muy fácil, se basa en la utilización de rand() que es una funcion incluida en mysql.
1
SELECT * FROM `competicion` ORDER BY RAND() LIMIT 1";
Como habÃa comentado antes quiero seleccionar 5 ganadores que sean de la semana x y que no hayan ganado (la semana en la que han ingresado se guarda en la db al momento de registro) por lo que la consulta nos quedarÃa de la siguiente forma:
1
$sql="SELECT * FROM `competicion` WHERE semana = 'primera' AND gano = 'no' ORDER BY RAND( ) LIMIT 5";
Con eso ya tenemos todo, utilizando PHP se nos hace bien fácil enviarnos los resultados a nuestro email o simplemente imprimirlo en la pantalla.
El código completo serÃa algo como:
$semana='primera';$sql="SELECT * FROM `competicion` WHERE semana = '$semana' AND gano = 'no' ORDER BY RAND( ) LIMIT 5";$result=mysql_query($sql);if(!$result){echo"No se pudo correr la consulta ($sql) de la DB: ".mysql_error();exit;}if(mysql_num_rows($result)==0){echo"No se encontraron registros";exit;}else{while($row=mysql_fetch_assoc($result)){$fecha=date('l jS \of F Y h:i:s A',$row['time']);$ganador.="Id: ".$row["id"]."\nTitle: ".$row['titulo']."\nNombre: ".$row['nombre']."\nApellido: ".$row['apellido']."\nEmail: ".$row['email']."\nEdad: ".$row['edad']."\nRespuesta: ".$row['respuesta']."\nTime: ".$fecha."\n\n\n";}mysql_free_result($result);$to='email del administrador o quien vaya a chequear que el ganador sea genuino';mail($to,"ganador de la semana ".$semana,$ganador);echo"la lista de ganadores ha sido enviada a $to";}
No me voy a explayar mucho porque el titulo lo dice todo. phpforAndroid es una seria de librerias/framework que te permite desarrollar aplicaciones para Android usando PHP. Está bastante bueno porque las salidas las hace usando la GUI de Android. Vean el video que demuestra bien de lo que estoy hablando. Espero que sigan evolucionando estas tecnologÃas y que en el futuro podamos acceder a la brujula, al gps, la camará,etc.
Digilabs nace como una necesidad de devolver a la comunidad todo lo que hemos absorvido en nuestra corta vida en la industria digital o larga en terminos digitales, por todo lo que ha pasado ultimamente. Intentaremos llenar el espacio con experiencias como desarrolladores, ejemplos, trucos, recursos, tendencias y otras yerbas.