<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>BrianUR</title>
	<atom:link href="http://www.brianur.info/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brianur.info</link>
	<description></description>
	<lastBuildDate>Mon, 23 Apr 2012 16:05:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Publicar una foto con el PHP SDK en Facebook</title>
		<link>http://www.brianur.info/publicar-una-foto-con-el-php-sdk-en-facebook/</link>
		<comments>http://www.brianur.info/publicar-una-foto-con-el-php-sdk-en-facebook/#comments</comments>
		<pubDate>Sat, 03 Mar 2012 18:30:57 +0000</pubDate>
		<dc:creator>Brian Urban</dc:creator>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[graph api]]></category>
		<category><![CDATA[hacer una aplicacion en facebook]]></category>
		<category><![CDATA[php sdk]]></category>
		<category><![CDATA[publish photo facebook]]></category>

		<guid isPermaLink="false">http://www.brianur.info/?p=1762</guid>
		<description><![CDATA[Continuando el trabajo con el PHP SDK de Facebook veremos como publicar una foto en el muro de una persona. En este caso se debe hacer lo de siempre, autentificar al usuario con nuestra aplicación y pedir permiso de publicación (publish_stream) como lo vimos anteriormente, la única novedad es el uso del método setFileUploadSupport que le indica al SDK que ...]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Continuando el trabajo con el <a title="PHP SDK Facebook" href="www.brianur.info/conociendo-el-php-sdk-de-facebook/" target="_blank">PHP SDK de Facebook </a>veremos como publicar una foto en el muro de una persona. En este caso se debe hacer lo de siempre, autentificar al usuario con nuestra aplicación y pedir permiso de publicación (publish_stream) como lo vimos anteriormente, la única novedad es el uso del método <strong>setFileUploadSupport</strong> que le indica al SDK que permita la carga de archivos. Después de tener la foto guardada en el servidor, sea cual sea la forma en que tu aplicación la genere se publica la foto de la siguiente forma:</p>
<p style="text-align: justify;">
<pre class="brush: php; title: ; notranslate">
// Se habilita la carga de archivos con setFileUploadSupport.
$facebook-&gt;setFileUploadSupport(true);
// Se indica la ruta de la imagen en el servidor.
$img = 'ruta_de_la_imagen.png';
// Haciendo uso de POST se envía la foto usando el método llamado api
$photo = $facebook-&gt;api('/me/photos', 'POST',
array( 'source' =&gt; '@' . $img,
'message' =&gt; 'Mensaje a ser publicado con la foto'
));
</pre>
<p>Facebook automáticamente crea un album con el nombre de la aplicación, en caso de querer crear un album con otro nombre:</p>
<pre class="brush: php; title: ; notranslate">$album=array('name'=&gt;'BrianUR.info', 'description'=&gt;'Tutoriales para crear aplicacion
en Facebook');
$facebook-&gt;api('/me/albums','post',$album);</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.brianur.info/publicar-una-foto-con-el-php-sdk-en-facebook/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Calcular dígito de verificación DIAN</title>
		<link>http://www.brianur.info/calcular-digito-de-verificacion-dian/</link>
		<comments>http://www.brianur.info/calcular-digito-de-verificacion-dian/#comments</comments>
		<pubDate>Fri, 30 Dec 2011 02:52:58 +0000</pubDate>
		<dc:creator>Brian Urban</dc:creator>
				<category><![CDATA[Trámites]]></category>
		<category><![CDATA[calcular digito dian]]></category>
		<category><![CDATA[consultar digito de verificacion]]></category>
		<category><![CDATA[dian]]></category>
		<category><![CDATA[digito de verificacion]]></category>
		<category><![CDATA[digito de verificacion del rut]]></category>
		<category><![CDATA[programa digito de verificacion]]></category>
		<category><![CDATA[rut]]></category>
		<category><![CDATA[tramites]]></category>
		<category><![CDATA[verificar digito de verificacion]]></category>

		<guid isPermaLink="false">http://www.brianur.info/?p=1710</guid>
		<description><![CDATA[El dígito de verificación se usa en varios trámites de la DIAN como por ejemplo obtener una copia del RUT, la siguiente herramienta calcula dicho número con el NIT o Cédula. Ingresar el NIT sin puntos ni comas.]]></description>
			<content:encoded><![CDATA[<p>El <strong>dígito de verificación</strong> se usa en varios trámites de la <strong>DIAN</strong> como por ejemplo <a title="Copia del RUT" href="http://www.brianur.info/obtener-una-copia-del-rut/" target="_blank">obtener una copia del RUT</a>, la siguiente herramienta calcula dicho número con el NIT o Cédula. <strong>Ingresar el NIT sin puntos ni comas</strong>.</p>
<p><iframe src="http://www.brianur.info/tools/digi.php" frameborder="0" scrolling="auto" width="600" height="150"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brianur.info/calcular-digito-de-verificacion-dian/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>¿Cómo sacar el pasaporte colombiano?</title>
		<link>http://www.brianur.info/guia-para-tramitar-el-nuevo-pasaporte-en-colombia/</link>
		<comments>http://www.brianur.info/guia-para-tramitar-el-nuevo-pasaporte-en-colombia/#comments</comments>
		<pubDate>Tue, 27 Dec 2011 21:21:25 +0000</pubDate>
		<dc:creator>Brian Urban</dc:creator>
				<category><![CDATA[Trámites]]></category>
		<category><![CDATA[cita pasaporte]]></category>
		<category><![CDATA[colombia]]></category>
		<category><![CDATA[costo pasaporte colombiano]]></category>
		<category><![CDATA[cuanto cuesta el pasaporte]]></category>
		<category><![CDATA[donde sacar el pasaporte]]></category>
		<category><![CDATA[pasaporte colombiano]]></category>
		<category><![CDATA[pasaporte en colombia]]></category>
		<category><![CDATA[requisitos para pasaporte]]></category>
		<category><![CDATA[sacar]]></category>
		<category><![CDATA[sacar pasaporte por internet]]></category>
		<category><![CDATA[tramites]]></category>

		<guid isPermaLink="false">http://www.brianur.info/?p=811</guid>
		<description><![CDATA[Desde el 5 de Agosto de 2010 en Colombia y varios consulados se implementó el nuevo pasaporte de lectura mecánica, con el fin de cumplir un acuerdo internacional emitido por la OACI. Este pasaporte está diseñado bajo altos estándares de seguridad, lo que hace muy difícil (casi imposible) su falsificación, además también agiliza los procesos migratorios ya que reduce hasta ...]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Desde el 5 de Agosto de 2010 en Colombia y varios consulados se implementó el<strong> nuevo pasaporte</strong> de lectura mecánica, con el fin de cumplir un acuerdo internacional emitido por la OACI. Este pasaporte está diseñado bajo altos estándares de seguridad, lo que hace muy difícil (casi imposible) su falsificación, además también agiliza los procesos migratorios ya que reduce hasta en un 50% el tiempo de atención por parte de los agentes de migración. <strong>Este nuevo pasaporte será obligatorio desde el 2015</strong>.</p>
<h3 style="text-align: justify;"><strong>Requisitos para solicitar el pasaporte</strong></h3>
<ul style="text-align: justify;">
<li>Ser ciudadano colombiano, contar con documento de identidad valido. En caso de ser un menor de edad debe presentarse con  una copia auténtica del registro civil de nacimiento expedido por la misma oficina de inscripción y la tarjeta de identidad para los menores de 7 a 17 años. El menor debe presentarse con su representante legal.</li>
<li>Diligenciar la solicitud personalmente en la oficina expedidora o por <a title="Sacar pasaporte por Internet" href="http://pasaportes.cancilleria.gov.co/sicep/administracion/registrarPersona.seam" target="_blank">medio electrónico</a>.</li>
<li>Efectuar el pago correspondiente en la oficina donde realice el trámite.</li>
<li>Presentarse personalmente a la oficina de pasaportes para la toma de datos biométricos (fotografía, firma, huella) y la recolección de documentos de soporte. Presentar el pasaporte anterior en caso de tenerlo.</li>
</ul>
<h3 style="text-align: justify;"><strong><span id="more-811"></span>¿Dónde se tramita?</strong></h3>
<p style="text-align: justify;">Actualmente, el pasaporte de lectura rápida se puede solicitar en los siguientes lugares:</p>
<ul style="text-align: justify;">
<li><strong>Bogotá:</strong> Pasaportes Sede Norte: Avenida 19 No. 98-03, Edificio Torre 100.B. Pasaportes Sede Centro: Carrera 13 No. 27-00 Local 112. <strong>Horario de atención al público Lun-Vie de 8:00 am a 3:00 pm.</strong></li>
<li><strong>Consulados:</strong> Boston-MS (USA), Los Angeles-CA (USA), Atlanta-GA (USA), Houston-TX (USA), Londres (UK), Barcelona (España) y Quito (Ecuador).</li>
</ul>
<p style="text-align: justify;">Puede consultar las gobernaciones habilitadas <a href="http://www.cancilleria.gov.co/services/colombia/passports/ordinary">aquí</a>.</p>
<h3 style="text-align: justify;"><strong>¿Cuál es el valor?</strong></h3>
<p style="text-align: justify;">El costo del trámite es de $130.000 pesos más los impuestos que determina de forma autónoma cada ente departamental.</p>
<h3 style="text-align: justify;"><strong>¿Cuánto se demora el trámite?</strong></h3>
<p style="text-align: justify;">El pasaporte de lectura mecánica se elabora en Bogotá por maquinas especiales, por lo tanto su pasaporte será enviado al lugar en que usted lo solicite una vez esté listo, es decir<strong> 8 días hábiles después de haber hecho el trámite.</strong></p>
<p style="text-align: justify;">Para una información más detallada no olvide visitar el sitio del <a href="http://bit.ly/rR44IV" target="_blank">Ministerio de Relaciones Exteriores de Colombia</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brianur.info/guia-para-tramitar-el-nuevo-pasaporte-en-colombia/feed/</wfw:commentRss>
		<slash:comments>93</slash:comments>
		</item>
		<item>
		<title>Script: Publicar comentario de primero en CuantoCabron.com</title>
		<link>http://www.brianur.info/script-publicar-de-primero-en-cuantocabron-com/</link>
		<comments>http://www.brianur.info/script-publicar-de-primero-en-cuantocabron-com/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 18:34:05 +0000</pubDate>
		<dc:creator>Brian Urban</dc:creator>
				<category><![CDATA[Codiguillos]]></category>
		<category><![CDATA[cuanto cabron]]></category>
		<category><![CDATA[cuantocabron]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://www.brianur.info/?p=1650</guid>
		<description><![CDATA[El siguiente script solo es una prueba de lo que nos permite hacer cURL, para quienes visitan el sitio ¡Cuánto cabrón! sabrán que ser el primero en comentar no tiene relevancia mayor ya que los comentarios aparecen ordenados por votación de los mismos usuarios, aun así es bastante difícil (casi imposible diría yo xD) poder comentar una viñeta de primero y para eso ...]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">El siguiente script solo es una prueba de lo que nos permite hacer <a title="CURL" href="http://www.brianur.info/curl-y-php/" target="_blank">cURL, </a>para quienes visitan el sitio <strong>¡Cuánto cabrón!</strong> sabrán que ser el primero en comentar no tiene relevancia mayor ya que los comentarios aparecen ordenados por votación de los mismos usuarios, aun así es bastante difícil (casi imposible diría yo xD) poder comentar una viñeta de primero y para eso hice este script. Yo probé el script por partes y cada una de ellas funciona, no lo probé en su totalidad para no pasar por troll pero en teoría debería funcionar.</p>
<p style="text-align: justify;">
<pre class="brush: php; title: ; notranslate">
&lt;?php
/* Comentar de primero en CuantoCabron.com
www.BrianUR.info
/*
$ch = curl_init();
$url = &quot;http://www.cuantocabron.com/&quot;;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIE, 'TU_COOKIE');
curl_setopt($ch, CURLOPT_USERAGENT, &quot;Mozilla/5.0 (Windows; U; Windows NT 6.1; es-ES;
rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13&quot;);
$resultado = curl_exec($ch);
$texto1 = explode(&quot;&lt;h2&gt;&lt;a href=\&quot;&quot;, $resultado);
$texto2 = trim($texto1[1]);
$final = explode(&quot;\&quot;&gt;&quot;, $texto2);
//***************************************
if ($final[0] != &quot;http://www.cuantocabron.com/ultimavineta&quot;) {
try {
$ch0 = curl_init();
curl_setopt($ch0, CURLOPT_URL, $final[0]);
curl_setopt($ch0, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch0, CURLOPT_COOKIE, 'TU_COOKIE');
curl_setopt($ch0, CURLOPT_USERAGENT, &quot;Mozilla/5.0 (Windows; U; Windows NT 6.1; es-ES;
rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13&quot;);
$resultado0 = curl_exec($ch0);
$id_story = explode(&quot;id=\&quot;id_story\&quot; value=\&quot;&quot;, $resultado0);
$current_page = explode(&quot;id=\&quot;current_page\&quot; value=\&quot;&quot;, $resultado0);
$id_story1 = trim($id_story[1]);
$current1 = trim($current_page[1]);
$current = explode(&quot;\&quot;/&gt;&quot;, $current1);
$final1 = explode(&quot;\&quot;/&gt;&quot;, $id_story1);
$idfinal = $final1[0];
$currentFinal = $current[0];
//***************************************
$ch1 = curl_init();
curl_setopt($ch1, CURLOPT_URL, $final[0]);
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch1, CURLOPT_COOKIE, 'TU_COOKIE');
curl_setopt($ch1, CURLOPT_USERAGENT, &quot;Mozilla/5.0 (Windows; U; Windows NT 6.1; es-ES;
 rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13&quot;);
curl_setopt($ch1, CURLOPT_POST, true);
curl_setopt($ch1, CURLOPT_POSTFIELDS, &quot;comment=&quot; . urlencode(&quot;Soy el primero :trollface:&quot;) . &quot;&amp;id_story=&quot; . urlencode($idfinal) . &quot;&amp;current_page=&quot; . urlencode($currentFinal) . &quot;&amp;token_form=&quot; . urlencode(&quot;TU_TOKEN&quot;) . &quot;&amp;submit=Enviar+comentario&quot;);
curl_exec($ch1);
} catch (Exception $e) {
echo 'Caught exception: ', $e-&gt;getMessage(), &quot;\n&quot;;
}
echo (&quot;Comentario publicado :trollface:&quot;);
} else {
//echo &quot;&lt;script type=\&quot;text/javascript\&quot;&gt;top.location.href = 'cc.php';&lt;/script&gt;&quot;;
echo &quot;&lt;meta http-equiv=\&quot;Refresh\&quot; content=\&quot;2;url=cc.php\&quot;&gt;&quot;;
}
?&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.brianur.info/script-publicar-de-primero-en-cuantocabron-com/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Script: Comprobar quién es el dueño de una foto en Facebook con su URL</title>
		<link>http://www.brianur.info/comprobar-quien-es-el-dueno-de-una-foto-en-facebook-con-su-url/</link>
		<comments>http://www.brianur.info/comprobar-quien-es-el-dueno-de-una-foto-en-facebook-con-su-url/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 17:19:21 +0000</pubDate>
		<dc:creator>Brian Urban</dc:creator>
				<category><![CDATA[Codiguillos]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://www.brianur.info/?p=1640</guid>
		<description><![CDATA[Un script simple que hice ayer para comprobar quién es el dueño de una foto, en el caso de cuando por ejemplo nos envían la URL de la imagen de tipo http://a5.sphotos.ak.fbcdn.net/hphotos-ak-ash2/24487_1401168904232_1082605132_31212964_123957_n.jpg]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Un script simple que hice ayer para comprobar quién es el dueño de una foto, en el caso de cuando por ejemplo nos envían la URL de la imagen de tipo <a href="http://a5.sphotos.ak.fbcdn.net/hphotos-ak-ash2/24487_1401168904232_1082605132_31212964_123957_n.jpg">http://a5.sphotos.ak.fbcdn.net/hphotos-ak-ash2/24487_1401168904232_1082605132_31212964_123957_n.jpg</a></p>
<pre class="brush: xml; title: ; notranslate">

&lt;form method=&quot;GET&quot;&gt;
&lt;input type=&quot;text&quot; name=&quot;url&quot;/&gt;
&lt;input type=&quot;submit&quot; id=&quot;Enviar&quot; value=&quot;Comprobar&quot;/&gt;
&lt;/form&gt;
&lt;?php
/*
Comprobar quién es el dueño de una foto en Facebook con su URL
www.BrianUR.info
*/
if (isset($_GET['url'])) {
$url = $_GET['url'];
$id = explode(&quot;_&quot;, $url);
$datos = file_get_contents(&quot;http://graph.facebook.com/&quot; . $id[2]);
$daticos = json_decode($datos);
if (isset($daticos-&gt;link)) {
echo &quot;La foto es de &lt;a href='&quot; . $daticos-&gt;link . &quot;'&gt;&quot;
. $daticos-&gt;name . &quot;&lt;/a&gt;&quot;;
} else {
echo &quot;Al parecer el usuario con el nombre &quot; . $daticos-&gt;name . &quot; ocultó su perfil
 para otras personas,&lt;/br&gt;&quot; .
&quot; intenta ver el perfil accediendo desde www.facebook.com/profile.php?id=&quot; . $id[2];
}
echo &quot;&lt;/br&gt;&lt;img src='http://graph.facebook.com/&quot; . $id[2] . &quot;/picture?type=large'/&gt;&quot;;
}
?&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.brianur.info/comprobar-quien-es-el-dueno-de-una-foto-en-facebook-con-su-url/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Crear un sistema de login con Google+ (OAuth)</title>
		<link>http://www.brianur.info/crear-un-sistema-de-login-con-google-oauth/</link>
		<comments>http://www.brianur.info/crear-un-sistema-de-login-con-google-oauth/#comments</comments>
		<pubDate>Mon, 31 Oct 2011 18:28:45 +0000</pubDate>
		<dc:creator>Brian Urban</dc:creator>
				<category><![CDATA[Google+]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[Create an OAuth 2.0 client]]></category>
		<category><![CDATA[google+]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.brianur.info/?p=1601</guid>
		<description><![CDATA[Con este articulo quiero dar el inicio a una serie de tutoriales sobre la API de varias redes sociales como Google+, Twitter, Youtube y todas las demás que se pueda en el proceso. Para crear un sistema de login en nuestra web con Google+ debemos conocer sobre OAuth, que por definirlo de una forma muy general y rápida es un ...]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Con este articulo quiero dar el inicio a una serie de tutoriales sobre la API de varias redes sociales como<strong> Google+</strong>, Twitter, Youtube y todas las demás que se pueda en el proceso. Para crear un sistema de login en nuestra web con Google+ debemos conocer sobre <strong>OAuth</strong>, que por definirlo de una forma muy general y rápida es un protocolo creado para interactuar fácilmente con los datos de usuario de un sitio como lo puede ser <a title="Facebook API" href="http://www.brianur.info/category/tutoriales/facebook-tutoriales/" target="_blank">Facebook</a>, Google, Twitter y muchos más servicios reconocidos hacen uso de <strong>OAuth</strong>.</p>
<p style="text-align: justify;">Lo primero que debemos hacer es<a title="Registrar sitio Google+" href="http://code.google.com/intl/es/apis/accounts/docs/RegistrationForWebAppsAuto.html" target="_blank"> registrar nuestro sitio</a>:<a href="http://www.brianur.info/crear-un-sistema-de-login-con-google-oauth/dominio/" rel="attachment wp-att-1602"><img class="aligncenter size-full wp-image-1602" title="Google+ añadir dominio" src="http://www.brianur.info/wp-content/uploads/2011/10/dominio.jpg" alt="" width="608" height="182" /></a>Posteriormente en manejar dominios se debe verificar la propiedad del dominio siguiendo los pasos:</p>
<p style="text-align: justify;"><a href="http://www.brianur.info/crear-un-sistema-de-login-con-google-oauth/verificar/" rel="attachment wp-att-1603"><img class="aligncenter size-full wp-image-1603" title="Veriticar dominio Google+" src="http://www.brianur.info/wp-content/uploads/2011/10/verificar.jpg" alt="" width="550" height="278" /></a><a href="http://www.brianur.info/crear-un-sistema-de-login-con-google-oauth/verificar/" rel="attachment wp-att-1603"><br />
</a><a href="http://www.brianur.info/crear-un-sistema-de-login-con-google-oauth/administrar/" rel="attachment wp-att-1608"><img class="aligncenter size-full wp-image-1608" title="administrar dominio google+" src="http://www.brianur.info/wp-content/uploads/2011/10/administrar.jpg" alt="" width="521" height="172" /></a><span id="more-1601"></span>Luego se debe crear un ID cliente en <a title="Consola API Google" href="https://code.google.com/apis/console/" target="_blank">Consola de APIs</a>, crear un nuevo proyecto y en el menú seleccionar API Access.</p>
<p style="text-align: justify;"><a href="http://www.brianur.info/crear-un-sistema-de-login-con-google-oauth/cliene/" rel="attachment wp-att-1613"><img class="aligncenter size-full wp-image-1613" title="Create an OAuth 2.0 client Google+" src="http://www.brianur.info/wp-content/uploads/2011/10/cliene.jpg" alt="" width="392" height="708" /></a>Finalmente deberías ver el ID del cliente y otros datos necesarios para crear una aplicación. Allí mismo en el menú ve al apartado services y activa Google+ para poder trabajar con el. Manos al código, pero antes de eso debes descargar el paquete de librerías <a href="http://code.google.com/p/google-api-php-client/" target="_blank">google-api-php-client</a>. Después de descargado en la carpeta src ve al archivo config.php y busca:</p>
<pre class="brush: php; title: ; notranslate">
// Datos obtenidos al crear el cliente
'oauth2_client_id' =&gt; 'CLIENTE_ID',
'oauth2_client_secret' =&gt; 'SECRET',
'oauth2_redirect_uri' =&gt; 'http://brianur.info',
//Datos obtenidos al verificar el dominio
'oauth_consumer_key'    =&gt; 'brianur.info',
'oauth_consumer_secret' =&gt; 'JA8HUXQGKHUWc2gIbpKZUYrO ',</pre>
<pre class="brush: php; title: ; notranslate">
&lt;?php
/* Obtener datos del usuario en Google+
para crear un sistema de login.
www.BrianUR.info
*/
//'Incluimos' las librerías necesarias
require_once 'src/apiClient.php';
require_once 'src/contrib/apiPlusService.php';
session_start();
$client = new apiClient();
$client-&gt;setApplicationName(&quot;BrianUR.info&quot;);
$client-&gt;setScopes(array('https://www.googleapis.com/auth/plus.me'));
$plus = new apiPlusService($client);
if (isset($_REQUEST['logout'])) {
unset($_SESSION['access_token']);
}

if (isset($_GET['code'])) {
$client-&gt;authenticate();
$_SESSION['access_token'] = $client-&gt;getAccessToken();
header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']);
}

if (isset($_SESSION['access_token'])) {
$client-&gt;setAccessToken($_SESSION['access_token']);
}

if ($client-&gt;getAccessToken()) {
$yo = $plus-&gt;people-&gt;get('me');
$_SESSION['access_token'] = $client-&gt;getAccessToken();
}
else
$authUrl = $client-&gt;createAuthUrl();

if (isset($yo)) {
$_SESSION['sesion'] = $yo;
$yo = $_SESSION['sesion'];
echo &quot;&lt;img src=\&quot;&quot; . $yo['image']
['url'] . &quot;sz=82\&quot;/&gt;&lt;/br&gt;&quot;;
echo &quot;&lt;strong&gt;Nombre:&lt;/strong&gt; &quot; . $yo['displayName'] . &quot;&lt;/br&gt;&quot;;
echo &quot;&lt;strong&gt;ID:&lt;/strong&gt; &quot; . $yo['id'] . &quot;&lt;/br&gt;&quot;;
echo &quot;&lt;strong&gt;Sexo:&lt;/strong&gt; &quot; . $yo['gender'] . &quot;&lt;/br&gt;&quot;;
echo &quot;&lt;strong&gt;Lema:&lt;/strong&gt; &quot; . $yo['tagline'] . &quot;&lt;/br&gt;&quot;;
}
if (isset($authUrl))
echo &quot;&lt;a class='login' href='$authUrl'&gt;Acceder usando mi cuenta Google+&lt;/a&gt;&quot;;
else
echo &quot;&lt;a class='logout' href='index.php?logout'&gt;Salir&lt;/a&gt;&quot;;
?&gt;</pre>
<p style="text-align: justify;">Al acceder a la aplicación debe aparecer un enlace para conectarse con Google+, luego pide permiso:</p>
<p style="text-align: justify;"><a href="http://www.brianur.info/crear-un-sistema-de-login-con-google-oauth/conectar/" rel="attachment wp-att-1628"><img class="aligncenter size-full wp-image-1628" title="Conectar web con Google+" src="http://www.brianur.info/wp-content/uploads/2011/10/conectar.jpg" alt="" width="379" height="249" /></a>Por ultimo si todo ha salido bien debería verse los datos que pedimos, algo así:</p>
<p><a href="http://www.brianur.info/crear-un-sistema-de-login-con-google-oauth/logueado/" rel="attachment wp-att-1629"><img class="aligncenter size-full wp-image-1629" title="Logueado" src="http://www.brianur.info/wp-content/uploads/2011/10/logueado.jpg" alt="" width="242" height="343" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brianur.info/crear-un-sistema-de-login-con-google-oauth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Crear un sistema de pago con tweets o publicaciones</title>
		<link>http://www.brianur.info/crear-un-sistema-de-pago-con-tweets-o-publicaciones/</link>
		<comments>http://www.brianur.info/crear-un-sistema-de-pago-con-tweets-o-publicaciones/#comments</comments>
		<pubDate>Sun, 30 Oct 2011 01:12:48 +0000</pubDate>
		<dc:creator>Brian Urban</dc:creator>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[apps facebook]]></category>
		<category><![CDATA[create application facebook]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[facebook app web]]></category>
		<category><![CDATA[facebook php]]></category>
		<category><![CDATA[graph api]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.brianur.info/?p=1594</guid>
		<description><![CDATA[Es hora de hacer una aplicación real con lo aprendido en anteriores tutoriales, en este caso lo que haremos será una aplicación para loguear al usuario en nuestra web (no una aplicación dentro de Facebook) con el objetivo de que se le publique en el muro lo que queramos a cambio de poder descargar por ejemplo un libro o un ...]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Es hora de hacer una aplicación real con lo aprendido en <a title="Tutoriales desarrollo de aplicaciones en Facebook" href="http://www.brianur.info/category/tutoriales/facebook-tutoriales/" target="_blank">anteriores tutoriales</a>, en este caso lo que haremos será una aplicación para loguear al usuario en nuestra web (no una aplicación dentro de Facebook) con el objetivo de que se le publique en el muro lo que queramos a cambio de poder descargar por ejemplo un libro o un tutorial, por decirlo de una mejor forma <strong>cambiar una descarga por un tweet o una publicación en Facebook</strong>. Es algo sencillo de hacer y bastante útil para hacer conocer tu sitio o producto en redes sociales.</p>
<p style="text-align: justify;">Primero debes editar tu aplicación en el área de desarrolladores, buscas donde diga <strong>Selecciona como tu aplicación se intrega con Facebook </strong>y en <strong>Sitio web</strong> escribes la URL del sitio. Posteriormente debemos crear un directorio, en mi caso lo he llamado <strong>descargas</strong>. Este directorio debe estar protegido para que nadie con solo obtener la URL del archivo pueda descargarlo directamente, posteriormente usando PHP se llama al archivo para que pueda ser descargado solo por usuarios que hagan el &#8220;pago&#8221;. En la carpeta mencionada anteriormente creamos un archivo .htaccess que debe tener lo siguiente:</p>
<pre class="brush: plain; title: ; notranslate">AuthUserFile  /home/miweb/descargas/.htpasswd
AuthName &quot;Que coño intentas hacer?&quot;
AuthType Basic

Options All
&lt;Limit GET POST PUT&gt;
require valid-user
&lt;/Limit&gt;</pre>
<p style="text-align: justify;"><span id="more-1594"></span>En AuthUserFile debe ir la ruta absoluta del directorio, el archivo <strong>.htpasswd</strong> es el encargado de guardar el usuario y el password encriptado del mismo; para crearlo usamos la utilidad <a title="htpasswd Apache" href="http://httpd.apache.org/docs/2.0/es/howto/auth.html" target="_blank"><strong>htpasswd</strong></a> que viene integrada con Apache:</p>
<pre class="brush: plain; title: ; notranslate">htpasswd -c .htpasswd usuario</pre>
<p>Luego creamos un archivo PHP que será el encargado de loguear al usuario con la aplicación, pedir permisos de publicación, publicar en el muro, permitir la descarga del archivo:</p>
<pre class="brush: php; title: ; notranslate">&lt;?php
require (&quot;includes/facebook.php&quot;);
$appID = &quot;00000000000000&quot;;
$secret = &quot;00000000000000000000000000&quot;;
$facebook = new Facebook(array(
'appId' =&gt; $appID,
'secret' =&gt; $secret,
));
$user = $facebook-&gt;getUser();
if ($user) {
try {
$yo = $facebook-&gt;api('/me');
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
//Saludar al usuario
echo &quot;Hola &quot;.$yo[&quot;name&quot;].&quot; cómo estás?&quot;;
//Publicación en el muro
$parametros=array('message' =&gt; '',
'name' =&gt; 'Tutoriales de Facebook - BrianUR.info',
'caption' =&gt; 'Estoy leyendo un tutorial sobre el desarrollo de aplicaciones en Facebook. Te lo recomiendo!',
'link' =&gt; 'http://www.brianur.info',
'description' =&gt; 'Es genial',
'picture' =&gt; 'http://brianur.info/brianur.png',
'actions' =&gt; array(array('name' =&gt; 'Entra ya!',
'link' =&gt; 'http://www.brianur.info')));
$facebook-&gt;api('/me/feed','post',$parametros);
// ALERTA: ESTE CÓDIGO ES VULNERABLE A LFI Y SÓLO ES USADO COMO EJEMPLO
if (isset($_GET['archivo'])){
$name = $_GET['archivo'];
header(&quot;Content-disposition: attachment; filename=$name&quot;);
header(&quot;Content-type: application/octet-stream&quot;);
readfile(&quot;descargas/&quot;.$name);
}
// FIN ALERTA
echo &quot;&lt;a href=\&quot;index.php?archivo=librito.zip\&quot;&gt;Descargar archivo.&lt;/a&gt;&quot;;
} else {
//Enlace para iniciar sesion en la aplicación
$loginUrl = $facebook-&gt;getLoginUrl(array('scope' =&gt; 'publish_stream'));
echo &quot;&lt;a href='$loginUrl'&gt;Pagar con una publicación&lt;/a&gt;&quot;;
}
?&gt;</pre>
<p style="text-align: justify;">Eso es todo, el anterior código es sencillo y puedes mejorarlo según tus necesidades. Es estrictamente necesario por seguridad cambiar el código usado para la descarga del archivo ya que es vulnerable a LFI, además es recomendado hacer algún tipo de validaciones necesarias para aumentar la seguridad (por ejemplo el uso de sesiones). Posteriormente agregaré la opción de conectarse con<strong> Twitter</strong> para hacer lo mismo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brianur.info/crear-un-sistema-de-pago-con-tweets-o-publicaciones/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ganadores del concurso cuenta premium MegaUpload</title>
		<link>http://www.brianur.info/ganadores-del-concurso-cuenta-premium-megaupload/</link>
		<comments>http://www.brianur.info/ganadores-del-concurso-cuenta-premium-megaupload/#comments</comments>
		<pubDate>Sat, 29 Oct 2011 18:21:30 +0000</pubDate>
		<dc:creator>Brian Urban</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[concurso]]></category>
		<category><![CDATA[megaupload]]></category>

		<guid isPermaLink="false">http://www.brianur.info/?p=1584</guid>
		<description><![CDATA[Lo prometido es deuda, ya tengo la lista de los tres ganadores del concurso por una de las tres cuentas premium Megaupload – Megavideo. Gracias a todas las personas que participaron y también a los que compartieron el enlace al concurso sin participar. La lista de ganadores está disponible en Sortea2.com, me estaré comunicando con ellos lo más pronto posible ...]]></description>
			<content:encoded><![CDATA[<p id="post-title">Lo prometido es deuda, ya tengo la lista de los tres ganadores del <a href="http://www.brianur.info/gana-una-de-las-tres-cuentas-premium/" target="_blank">concurso por una de las tres cuentas premium Megaupload – Megavideo.</a> Gracias a todas las personas que participaron y también a los que compartieron el enlace al concurso sin participar.</p>
<p style="text-align: center;">Please enter the url to a YouTube video.</p>
<p style="text-align: left;">La lista de ganadores está disponible en <a href="http://www.sortea2.com/versorteo/sorteo-cuenta-megaupload-32014" target="_blank">Sortea2.com</a>, me estaré comunicando con ellos lo más pronto posible para entregar el premio. Felicidades a ellos. Esperen nuevos sorteos <img src='http://www.brianur.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.brianur.info/ganadores-del-concurso-cuenta-premium-megaupload/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Publicar en el muro con el PHP SDK</title>
		<link>http://www.brianur.info/publicar-en-el-muro-con-el-php-sdk/</link>
		<comments>http://www.brianur.info/publicar-en-el-muro-con-el-php-sdk/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 02:06:01 +0000</pubDate>
		<dc:creator>Brian Urban</dc:creator>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[api facebook php]]></category>
		<category><![CDATA[aplicaciones]]></category>
		<category><![CDATA[crear aplicacion de facebook]]></category>
		<category><![CDATA[crear aplicaciones facebook]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[facebook connect]]></category>
		<category><![CDATA[facebook developers]]></category>
		<category><![CDATA[graph api]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php facebook]]></category>
		<category><![CDATA[sdk]]></category>

		<guid isPermaLink="false">http://www.brianur.info/?p=1559</guid>
		<description><![CDATA[Una de las cosas más habituales en una aplicación es publicar contenido del usuario en su muro o en el de un amigo, así que para continuar trabajando con los métodos que nos provee el PHP SDK veremos como hacerlo. Para el caso de querer publicar en el muro de un amigo se debe reemplazar /me/feed por /IDAmigo/feed, no olvides ...]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Una de las cosas más habituales en una aplicación es publicar contenido del usuario en su muro o en el de un amigo, así que para continuar trabajando con los métodos que nos provee el <strong>PHP SDK</strong> veremos como hacerlo. Para el caso de querer publicar en el muro de un amigo se debe reemplazar /me/feed por /IDAmigo/feed, no olvides que para que el código funcione tienes que <a title="autenticar usuario en Facebook" href="http://www.brianur.info/conociendo-el-php-sdk-de-facebook/" target="_blank">autenticar el usuario</a> y pedir el permiso extendido <strong>publish_stream</strong>.</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
$parametros=array('message' =&gt; 'Aprendiendo a desarrollar aplicaciones en Facebook',
				  'name' =&gt; 'BrianUR.info',
				  'caption' =&gt; 'Mi primer aplicacion en Facebook',
				  'link' =&gt; 'http://www.brianur.info',
				  'description' =&gt; 'Es genial',
				  'picture' =&gt; 'http://brianur.info/brianur.png',
				  'actions' =&gt; array(array('name' =&gt; 'Entra ya!',
                                      'link' =&gt; 'http://www.brianur.info')));
$facebook-&gt;api('/me/feed','post',$parametros);
?&gt;
</pre>
<p><a href="http://www.brianur.info/publicar-en-el-muro-con-el-php-sdk/publish/" rel="attachment wp-att-1560"><img class="aligncenter size-full wp-image-1560" title="publish feed Facebook" src="http://www.brianur.info/wp-content/uploads/2011/10/publish.jpg" alt="" width="447" height="133" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brianur.info/publicar-en-el-muro-con-el-php-sdk/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Conociendo el PHP SDK de Facebook</title>
		<link>http://www.brianur.info/conociendo-el-php-sdk-de-facebook/</link>
		<comments>http://www.brianur.info/conociendo-el-php-sdk-de-facebook/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 01:09:56 +0000</pubDate>
		<dc:creator>Brian Urban</dc:creator>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[api facebook php]]></category>
		<category><![CDATA[aplicaciones]]></category>
		<category><![CDATA[crear aplicaciones facebook]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[facebook connect]]></category>
		<category><![CDATA[facebook developers]]></category>
		<category><![CDATA[graph api]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php facebook]]></category>

		<guid isPermaLink="false">http://www.brianur.info/?p=1536</guid>
		<description><![CDATA[Facebook provee a los desarrolladores un kit de desarrollo para poder trabajar con su API de una manera más sencilla, dentro de estas herramientas se encuentran el JavaScript SDK, PHP SDK, iOS SDK (iPhone &#38; iPad) y el Android SDK. Para este caso veremos el funcionamiento del PHP SDK de Facebook, trabajaremos algunos de sus métodos más usados, eso si, ...]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Facebook provee a los desarrolladores un kit de desarrollo para poder trabajar con su API de una manera más sencilla, dentro de estas herramientas se encuentran el<a href="http://developers.facebook.com/docs/reference/javascript/"> JavaScript SDK</a>,<a href="http://developers.facebook.com/docs/reference/php"> PHP SDK</a>,<a href="http://developers.facebook.com/docs/reference/iossdk"> iOS SDK (iPhone &amp; iPad)</a> y el<a href="http://developers.facebook.com/docs/reference/androidsdk"> Android SDK</a>. Para este caso veremos el funcionamiento del <strong>PHP SDK de Facebook</strong>, trabajaremos algunos de sus métodos más usados, eso si, es primordial haber leído antes el <a title="Graph API" href="http://www.brianur.info/gana-una-de-las-tres-cuentas-premium/" target="_blank">funcionamiento de la Graph API de Facebook</a> para entender lo que se hace en el código.</p>
<p style="text-align: justify;">Puedes descargar el archivo <strong>facebook.php</strong> que necesitamos desde <a title="PHP SDK Facebook" href="https://github.com/facebook/php-sdk/downloads" target="_blank">github</a>. La versión actual es la 3.1.1, muy importante en tener en cuenta esto para las personas que ya habían desarrollado aplicaciones antes, ya que algunos métodos no funcionan en las nuevas versiones del SDK, como es el caso de <strong>getSession()</strong> que hacía parte de la Rest API, así que si ven un <strong><code>Fatal error: Call to undefined method Facebook::getSession()</code></strong> ya saben la razón.</p>
<h2 style="text-align: center;">Autenticación</h2>
<p style="text-align: justify;">El siguiente código siempre será necesario usarlo para poder autenticar el usuario con una aplicación (obtener un token, pedir permisos), si buscas por la red te podrás encontrar con múltiples formas para hacer este paso, hay personas que hacen varios tipos de validaciones (recomiendo que tu también lo hagas) para evitar errores; en este caso para ahorrar código y para que se entienda mejor he puesto lo estrictamente necesario:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
/*
	Código de ejemplo para obtener datos del usuario en Facebook
	www.BrianUR.info
*/
// URL de la aplicación
$urlApp = &quot;http://apps.facebook.com/brianur/&quot;;
// ID y Secret ID de la aplicación
$appId = &quot;0000000000000&quot;;
$secret = &quot;00000000000000000000000000000000&quot;;
//Llamada al Facebook SDK
include_once &quot;facebook.php&quot;;
// Instanciamos el objeto Facebook
$facebook = new Facebook(array('appId' =&gt; $appId,
							   'secret' =&gt; $secret,
							   'cookie' =&gt; true));
// Obtenemos una session
$user = $facebook-&gt;getUser();
if (!$user){
// Si el usuario no está autentificado crea una URL para hacerlo.
// Se usa 'scope' para pedir permisos separados por coma.
// Se usa 'redirect_uri' para redireccionar a esa URL despues de la acción del usuario
$loginUrl = $facebook-&gt;getLoginUrl(
            array(
                'scope' =&gt; 'user_about_me',
                'redirect_uri' =&gt; $urlApp
            )
    );
echo &quot;&lt;script type=\&quot;text/javascript\&quot;&gt;top.location.href = '$loginUrl';&lt;/script&gt;&quot;;
} else {
	// Hasta aquí el usuario tendría que estar autentificado con la aplicación.
	$yo = $facebook-&gt;api('/me');
	print_r($yo);
}
?&gt;
</pre>
<p>El anterior código retorna varios datos del usuario, para ver datos ocultos se requiere el uso de <strong>permisos extendidos</strong>.<br />
<span id="more-1536"></span></p>
<h2 style="text-align: center;">Métodos</h2>
<table width="100%" border="1" cellspacing="0" cellpadding="4">
<colgroup>
<col width="128*" />
<col width="128*" /> </colgroup>
<tbody>
<tr valign="TOP">
<td width="50%"><strong>Nombre</strong></td>
<td width="50%"><strong>Uso</strong></td>
</tr>
<tr valign="TOP">
<td width="50%">api</td>
<td width="50%">Llamadas a la conexiones y objetos disponibles en la Graph API. Tambien puede realizar consultas FQL.</td>
</tr>
<tr valign="TOP">
<td width="50%">getAccessToken</td>
<td width="50%">Obtiene un token de acceso que puede ser usado posteriormente con otros métodos.</td>
</tr>
<tr valign="TOP">
<td width="50%">getApiSecret</td>
<td width="50%">Obtiene la secret ID de la aplicación</td>
</tr>
<tr valign="TOP">
<td width="50%">getAppId</td>
<td width="50%">Obtiene la App ID de la aplicación</td>
</tr>
<tr valign="TOP">
<td width="50%">getLoginStatusUrl</td>
<td width="50%">Devuelve la URL con el estado de la autentificación actual del usuario</td>
</tr>
<tr valign="TOP">
<td width="50%">getLoginUrl</td>
<td width="50%">Devuelve una URL para que el usuario se pueda autenticar y luego redirecciona a la aplicación</td>
</tr>
<tr valign="TOP">
<td width="50%">getLogoutUrl</td>
<td width="50%">Devuelve una URL para que termine la sesión del usuario en la aplicación y luego redirecciona a la misma</td>
</tr>
<tr valign="TOP">
<td width="50%">getSignedRequest</td>
<td width="50%">Obtiene una solicitud firmada que utiliza el SDK</td>
</tr>
<tr valign="TOP">
<td width="50%">getUser</td>
<td width="50%">Devuelve el ID del usuario, sino está autenticado devuelve un 0.</td>
</tr>
<tr valign="TOP">
<td width="50%">setAccessToken</td>
<td width="50%">Fija el token de acceso actual que se este usando</td>
</tr>
<tr valign="TOP">
<td width="50%">setApiSecret</td>
<td width="50%">Fija la secret ID de la aplicación que se este usando</td>
</tr>
<tr valign="TOP">
<td width="50%">setAppId</td>
<td width="50%">Fija la App ID de la aplicación que se este usando</td>
</tr>
<tr valign="TOP">
<td width="50%">setFileUploadSupport</td>
<td width="50%">Sirve para subir archivos para trabajar luego con ellos, el servidor debe permitir la carga de los mismos.</td>
</tr>
<tr valign="TOP">
<td width="50%">useFileUploadSupport</td>
<td width="50%">Permite verificar si la carga de archivos está disponible en el servidor</td>
</tr>
</tbody>
</table>
<h2 style="text-align: center;">Ejemplos útiles</h2>
<p><strong>Mostrar todos los amigos de un usuario:</strong></p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
$amigos=$facebook-&gt;api('/me/friends');
foreach($amigos['data'] as $amigo){
echo &quot;Nombre: &quot;.$amigo['name'].&quot; ID: &quot;.$amigo['id'];
}
?&gt;
</pre>
<p><strong>Mostrar los primeros 10 amigos por ID y Nombre:</strong></p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
$amigos=$facebook-&gt;api('/me/friends?limit=10&amp;fields=id,name');
foreach($amigos['data'] as $amigo){
echo &quot;Nombre: &quot;.$amigo['name'].&quot; ID: &quot;.$amigo['id'];
}
?&gt;
</pre>
<p><strong>Mostrar foto de perfil del usuario:</strong></p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
$yo=$facebook-&gt;api('/me');
$fotoPerfil = &quot;&lt;img src='http://graph.facebook.com/&quot;.$yo['id'].&quot;/picture?type=large'/&gt;&quot;;
echo $fotoPerfil;
?&gt;
</pre>
<p><strong>Publicar en muro:</strong></p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
$parametros=array('message' =&gt; 'Aprendiendo a desarrollar aplicaciones en Facebook',
				  'name' =&gt; 'BrianUR.info',
				  'caption' =&gt; 'Mi primer aplicacion en Facebook',
				  'link' =&gt; 'http://www.brianur.info',
				  'description' =&gt; 'Es genial',
				  'picture' =&gt; 'http://brianur.info/brianur.png',
				  'actions' =&gt; array(array('name' =&gt; 'Entra ya!',
                                      'link' =&gt; 'http://www.brianur.info')));
$facebook-&gt;api('/me/feed','post',$parametros);
?&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.brianur.info/conociendo-el-php-sdk-de-facebook/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
	</channel>
</rss>

