Crear una aplicación viral para Facebook

  • Autor Autor irwin238
  • Fecha de inicio Fecha de inicio

irwin238

Gamma
Programador
Verificación en dos pasos activada
Verificado por Whatsapp
Hace poco pedi ayuda para crear una app que generara una imagen aleatoria y la publicara en el muro del usuario...




El script esta basado en el de "La banana del día" por lo cual el código no esta muy limpio pero es entendible :3

Esta app lo que hace es publicar una imagen aleatoria y subirla en el muro :3
PHP:
<?php
ob_start();
	@set_time_limit(0);

	$_PAGEID	= '3909388243***'; //ID DE TU PAGINA
	$_APPID		= '1711320*****'; //ID DE TU APP
	$_APPSE		= '523811c9f4******'; //CODIGO SECRETO DE TU APP
	$_PERMISOS	= 'publish_stream,photo_upload,user_photos';
	$_MSERVER	= '//www******/app/01_app_ramdom/'; //URL DE DND ESTA TU APP
	$_ADS		= ''; //PUBLICIDAD
	$GOOGLEURL	= 'http://goo.gl/KtrKJ'; //URL QUE SE PUBLICARA EN EL MURO DEL USUARIO

	//Obtenemos Los datos del usuario
	$_R = _SR($_REQUEST['signed_request'],$_APPSE);
	//Leemos el ID de la fanpage de la cual el usuario esta accediendo. 
    $_PAGEID        = $_R['page']['id'];

	echo '<center>';
	echo '<iframe src="'.$_ADS.'" style="border:0px;" width="728" height="90" scrolling="no" frameborder="0"></iframe><br/>';

	//Verificamos si es fan
	if($_R['page']['liked']){
		if($_R['oauth_token']==""){
			PedirP();
		}else{
			//Obtenemos los datos del usuario
			$A = file_get_contents('https://graph.facebook.com/'.$_R['user_id'].'?access_token='.$_R['oauth_token']);
			$A = json_decode($A,true);
			//Verificamos si ya dio permisos
			$BM = file_get_contents('https://graph.facebook.com/'.$_R['user_id'].'/permissions?access_token='.$_R['oauth_token']);
			$BM = json_decode($BM,true);

			if( !array_key_exists('publish_stream', $BM['data'][0]) ) {
				PedirP();
			}

		    if($_REQUEST['crear']==""){
			$font = 'lsansi.ttf';



                    /**ORDEN ALEATORIO SE COLOCARA DE ESTA FORMA ($imagen[ID]= "NOMBRE DE LA IMAGEN"; SIN PONER LA EXTANSION)
					              TIENES QUE SUBIR LAS IMAGENES CON EXTENSION .JPG DENTRO DE LA CARPETA IMG**/
                    $imagen[0]= "1";  
                    $imagen[1]= "2";  
                    $imagen[2]= "3";  
                    $imagen[3]= "4";  
                    $imagen[4]= "5";  
					
					/**PARA AÑADIR MAS SOLO NECESITAS CREAR OTRA VARIABLE ($imagen[5]= "6";) de esa forma w.w**/

                 $get= count($imagen)-1;  
                 $aleatoreo= rand(0,$get);  
                 $img5 = $imagen[$aleatoreo];
 


  




$_TXT_ENVIAR	= 'Descubre q arma usaras en un apocalypse → '.$GOOGLEURL.' - '.$A['first_name'].', Ya lo Descubrio...
			*';
			$_P['message'] 	= trim($_TXT_ENVIAR);
			//Etiquetamos al amigo
	$_P['tags']	= json_encode(array(array('tag_uid'=> $_REQUEST['amigo'],'x'=>50,'y'=>50)));
			
			
			$_P['source'] = "@" . realpath('img/'.$img5.'.jpg');
			$ch = curl_init();
			curl_setopt($ch, CURLOPT_URL,'https://graph.facebook.com/'.$_R['user_id'].'/photos?access_token='.$_R['oauth_token']);
			curl_setopt($ch, CURLOPT_POST, true);
			curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
			curl_setopt($ch, CURLOPT_POSTFIELDS, $_P);
			$resultado = curl_exec($ch);
			$resultado = json_decode($resultado, true);
			curl_close($ch);



		echo '<table border="0"><tr><td><div align="center"><img src="img/'.$img5.'.jpg" width="450px"></div></td></tr></table>';
			echo '<h1>Imagen subida con exito, puedes verla publicada en tu muro XD</h1>';
		    
	
		}}
	}else{
		//Boton de like (no es fan)
		echo '<img src="img/mg.png">';
	}
	echo '<script src="//ads.lfstmedia.com/getad?site=138199" type="text/javascript"></script>';
	echo '</center>';

	function _SR($signed_request, $secret) {
        	list($encoded_sig, $payload) = explode('.', $signed_request, 2);

	        $sig = base64_url_decode($encoded_sig);
        	$data = json_decode(base64_url_decode($payload), true);

	        if(strtoupper($data['algorithm']) !== 'HMAC-SHA256') {
        	        error_log('Unknown algorithm. Expected HMAC-SHA256');
                	return null;
	        }

	        $expected_sig = hash_hmac('sha256', $payload, $secret, $raw = true);
        	if($sig !== $expected_sig) {
	                error_log('Bad Signed JSON signature!');
        	        return null;
	        }

	        return $data;
	}

	function base64_url_decode($input) {
        	return base64_decode(strtr($input, '-_', '+/'));
	}

	function PedirP(){
		global $_APPID,$_PAGEID,$_PERMISOS;
		echo "<script>
  		var oauth_url = 'https://www.facebook.com/dialog/oauth/';
		oauth_url += '?client_id=".$_APPID."';
		oauth_url += '&redirect_uri=' + encodeURIComponent('https://www.facebook.com/pages/null/".$_PAGEID."/?sk=app_".$_APPID."');
		oauth_url += '&scope=".$_PERMISOS."'

		window.top.location = oauth_url;
		</script>";
		die();
	}

	function VerRealURL($U){
		$ch2 = curl_init();
		curl_setopt($ch2, CURLOPT_URL, $U);
		curl_setopt($ch2, CURLOPT_HEADER, true);
		curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);
		$ZZ = curl_exec($ch2);
		curl_close($ch2);

		preg_match('/Location:(.*?)\n/', $ZZ, $matches);
		return trim(array_pop($matches));
	}


	

?>


Eso es todo ._.

CLick aqui para descargar

 
Última edición:
Bien amigo, luego la reviso :encouragement:
 
y que has logrado con la app, mas visitas al sitio o mas seguidores?
 

$_PERMISOS = 'publish_stream,photo_upload,user_photos';

Creo que solo con el publish_stream la haces :S
 
$_PERMISOS = 'publish_stream,photo_upload,user_photos';

Creo que solo con el publish_stream la haces :S

😵 creo que tienes razon xdd pero va 2 permisos mas 2 molesta a nadie xd
 
😵 creo que tienes razon xdd pero va 2 permisos mas 2 molesta a nadie xd

xD aaah ok, es que creí que por alguna razón lo hacías, por ejemplo... si no activas la app solo por si y la pones en un sitio no reconoce la sesion xD
 
Gracias Es Simple Pero Buena c:
 

Hola, tu sabes que configuro todo pero nada que se dispara la app para pedirme permisos y todo eso, este codigo todavia funciona?

Muchas gRACIAS
 
Si no tengo ssl no funciona entonces?
 
probando 😎