Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. APIs

Usar medios sociales para localizar testigos de eventos importantes

by
Difficulty:IntermediateLength:MediumLanguages:
This post is part of a series called Using Social Media to Locate Eyewitnesses.
Using Social Media to Locate Eyewitnesses: The Twitter API

Spanish (Español) translation by Javier Salesi (you can also view the original English article)

Final product image
What You'll Be Creating

Éste es la primera de dos partes de una serie sobre el uso de medios sociales para localizar testigos de eventos importantes. En éste tutorial, te guiaré en el uso de la API de Instagram para encontrar miembros que podrían haber estado cerca de donde Macklemore grabó un video en el 2013 y el lugar de un accidente en Seattle cerca de donde frecuentemente trabajo.

En la parte dos, usaremos la API de Twitter para encontrar miembros cerca de otro reciente evento. También abordaré algunos de los problemas de privacidad relacionados a medios sociales y los que puedes tener al compartir tu geolocalización. Puedes descargar código para cada episodio al usar el enlace al repositorio en Github en la barra lateral. Puedes también estar interesado en mi serie de Tuts+, Creando con la API de Twitter.

Yo sí participo en las discusiones. Si tienes una pregunta o sugerencia sobre el tópico, escribe un comentario en la sección de abajo por favor. También puedes seguirme en mi cuenta de Twitter @reifman o enviarme un correo electrónico directamente.

Usar el Geoetiquetado para Bien (y para Mal).

Los teléfonos que cargamos en nuestros bolsillos registran nuestro movimiento, compartiéndolo con compañías de telefonía celular y firmas de software de terceros cuyas motivaciones generalmente se enfocan en las ganancias. Pero no son solo celulares y GPS los que nos exponen-yo casi siempre hago compras con tarjetas de crédito, exponiendo casi cada aspecto de mi vida a proveedores de tarjetas de crédito, hackers, o requisitos legales.

Concurso de Vanish filtrado

En el concurso Vanish (Desaparecer) de la Revista Wired en el 2009, ayudé en la captura del periodista Evan Ratliff. Después de escribir sobre personas que fingieron sus muertes, Ratliff trató de desaparecerse durante 30 días como parte de un experimento. Si alguien pudiera encontrarlo en persona antes de que expirara el tiempo, recibiría un premio de $5,000 dólares. Usar una aplicación de Facebook como un honeypot, (herramienta para atraer a atacantes informáticos) pude atraer a Ratliff a compartir reiteradamente su ubicación vía dirección IP, la cual después verifiqué con una cuenta de Twitter que descubrí que él estaba usando. Con ayuda de otros participantes en el concurso a nivel nacional, solicitamos asistencia en Nueva Orleans-que llegó en la forma de un negocio que vende pizzas libre de gluten (Ratliff era conocida para ser celíaco) que logró seguirlo en la ciudad. En esa nota, el geoetiquetado no fue usado para encontrarlo sino para la geolocalización de la dirección IP. Puedes leer la nota de Ratliff aquí también.

Pero aplicaciones de medios sociales en nuestro teléfono frecuentemente hacen uso de geoetiquetado, dejando un rastro del que no siempre se percatan los usuarios.

Removiendo Basura con Geoetiquetas y Medios Sociales

Muchas personas no se dan cuenta que han dejado que los geoetiqueten en sus aplicaciones de medios sociales, publicando totalmente su ubicación con cada publicación de medios sociales. Ésto incluyó al congresista del Partido Republicano Aaron Schock. La AP utilizó sus geoetiquetas de su cuenta de instagram para divulgar su uso de fondos de contribuyentes para extravagantes vuelos privados y otras actividades lujosas. Ver Cuenta de Instagram expone a congresista que gastó fondos públicos en vuelos privados y conciertos.

Aquí hay una publicación en Instagram de Schock desde Patagonia-nota el ícono de geoetiqueta junto a "Perito Moreno Glacier":

Congressman Aaron Shock at the Perito Moreno Glacier

Así, investigar geoetiquetas puede ser usado para bien. En éste tutorial, voy a explorar cómo periodistas o las fuerzas del orden podrían localizar potenciales testigos de importantes eventos como un delito o un accidente usando medios sociales.

Sin embargo, el geoetiquetado puede ser usado también para mal. Hay definitivamente implicaciones de privacidad importantes para su integración a nuestro estilo de vida digital.

Implicaciones de Privacidad

Científicos de informática de Berkeley y educadores crearon la aplicación Ready or not? (¿Listo o No?) para mostrar cómo el geoetiquetado en Twitter e Instagram registra cada movimiento que hacemos. Ver también ¿Está diciendo mucho tu Cuenta de Twitter?

Aquí está la cuenta de Instagram del congresista Schock en la aplicación Ready or Not?

Congressman Aaron Shock Worldwide Travels - Ready or Not

Aquí está la cuenta de Twitter de Steve Wozniak cofundador de Apple en la aplicación. Interesante que el viaje del congresista sea incluso más divulgado que éste magnate de la tecnología.

Steve Wozniaks Travels on Twitter - Ready or Not

El geoetiquetado en Instagram y Twitter es lo suficientemente exacto para permitir que alguien determine fácilmente su casa, lugar de trabajo e itinerario.

Desactivando el Geoetiquetado

Si no quieres compartir tu ubicación para que la vea el público, o dejar un rastro histórico de tus viajes, la aplicación Ready or Not? ofrece enlaces y guías para desactivar éstas funcionalidades (busca el enlace en su página de inicio). Francamente, he desactivado la mía y te animo a que también lo hagas.

Para los que no-y muchos no lo harán-sus publicaciones en medios sociales pueden ser útiles para las fuerzas del orden que buscan testigos de un delito o periodistas que desean investigar más profundamente una nota. Voy a guiarte en cómo hacer eso.

En éste episodio, te guiaré en el uso de la API de Instagram. He proporcionado un repositorio en Github (el enlace está en la barra lateral) para que lo descargues y pruebes el código. Mi "Aplicación de Eyewitness" (Testigo Ocular) está escrita en el Framework Yii para PHP, del que puedes aprender más en mi serie Programando con Yii2 para Tuts+.

El proceso de configuración requiere que registres una cuenta de desarrollador y aplicación con Instagram (y/o Twitter).

Si eres miembro de una agencia de las fuerzas del orden o entidad de medios que quisiera más información, por favor no dudes en contactarme directamente. También estaría interesado en cualquier uso exitoso de éste código (para bien)-harían una interesante nota posterior al respecto.

Usar la API de Instagram

Comencemos con Instagram. Si aún no tienes una cuenta de Instagram, descarga la aplicación en tu teléfono y accede.

Búsqueda de Medios en Instagram

La búsqueda de geolocalización en Instagram es muy sofisticada y ofrece una interfaz muy sencilla para nuestros fines. Como puedes ver abajo, necesitamos proporcionar una latitud y longitud de ubicación, un radio geográfico (distancia) y un rango de tiempo (min-timestamp y max_timestamp):

Instagram Media Search

Comenzando

Visita la página de la API de Instagram para desarrolladores y da click en Register Your Application:

Instagram Hello Developers

Necesitarás registrarte para una cuenta de desarrollador:

Instagram Developer Signup

Luego puedes registrar una nueva aplicación para recibir tu ID de Cliente:

Instagram New Client Registration

En el panel de Manage Clients, verás tu ID de Cliente y Secreto del Cliente, así que toma nota de éstos:

Instagram Manage Clients

Instalar la Base de Código de Eyewitness (Testigo Ocular)

Puedes clonar el repositorio de Github ubicado en la barra lateral para ejecutar el código de ejemplo.

Necesitarás establecer tu configuración local de Apache. Yo uso MAMP, así que se ve algo como ésto:

Necesitas crear una base de datos localmente. Yo uso PHPMyAdmin para crear una gráficamente:

Create your Eyewitness database

Posteriormente creo un archivo de inicialización en /var/secure/eyew.ini con mis credenciales de base de datos e ID's y claves de Instagram. Describí éste proceso recientemente en otro tutorial de Tuts+: Protegiendo Tus Claves de Github. Cómicamente, ingresé accidentalmente mi clave de Instagram durante el testeo (suspiro) y tuve que resetear mis claves posteriormente.

Mi archivo ini se ve así:

Actualiza tu gestor de dependencias Composer y sus librerías en el directorio vendor:

Después inicializa nuestra base de datos. La primera migración instala las tablas del usuario para nuestro Yii2-User por la extensión del desarrollador Demeroff, y la segunda crea las tablas específicas de nuestra aplicación:

De nuevo, puedes aprender sobre configurar una aplicación del Framework Yii en mi serie Programando con Yii2 para Tuts+.

La página de inicio de Eyewitness (Testigo Ocular)

Esto es lo que verías cuando visitas el sitio en tu navegador:

Eyewitness Home Page

Define un Momento

Un momento es un lugar y hora del que buscamos publicaciones en medios sociales pertenecientes usuarios que estuvieron presentes en él. Consiste de un descriptor amigable, una ubicación (latitud y longitud), una hora de inicio y una duración (en minutos). Para mi primer ejemplo, busco usuarios de Instagram que estuvieron presentes en el la grabación del video de Macklemore la noche del miércoles 24 de Julio de 2013 en el famoso restaurante de hamburguesas Dick's Drive In de Seattle. La producción del video y la multitud que se congregó provocó el cierre del área durante horas.

Usando Google Maps, puedo obtener la altitud y longitud GPS del restaurante. Son 47.6195-122.321.

Dicks Drive In Broadway Seattle GPS in Google Maps

Del artículo, aprendí que la producción cerró a la 1 am. Voy a elegir una hora de inicio de las 10 pm y una duración de 3 horas.

Create a Moment

Instagram acepta horas de inicio en GMT (Hora del Meridiano de Greenwich) así que he codificado un cambio de ajuste de ocho horas de mi huso horario (PST) (hora del Pacífico). Puede ser que necesites cambiar ésto en el código.

Búsqueda de Momento en Instagram

Para buscar en Instagram, damos click en el ícono de la cámara de abajo:

The Moments Index Grid

Para implementar mi búsqueda de medios en Instagram, voy a usar el paquete PHP de Instagram de Galen Grover. La búsqueda real es simple: $instagram->sesarchMedia( $this->latitude, $this->longitude,$params );

Los resultados son guardados en mi tabla de Gram, en la que podemos navegar:

Navegar por los Resultados

Aquí está la primera página de resultados de mi búsqueda. Puedes ver la multitud y la limosina Cadillac de Macklemore circulando. Claramente, me saqué la lotería con mi búsqueda.

Macklemore Search Results

Luego en la página tres, un usuario de Instagram llamado Joshua Lewis toma una foto de Macklemore saliendo del Cadillac:

More Macklemore Search Results

Aquí está Macklemore:

Macklemore Arrives on Instagram

Éste ejemplo claramente muestra el poder que proporciona la API de búsqueda de Instagram. En solo unos momentos, encontramos una variedad de testigos en un evento del verano de 2013. Sorprendente.

Si estás interesado, aquí está un video de YouTube de la grabación del video de Macklemore:

Otro Ejemplo de Momento

Para mi segundo ejemplo, voy a buscar usuarios de Instagram que estuvieron en el área aproximadamente a la hora de un trágico accidente cerca de donde yo estaba trabajando hace unas semanas. Un scooter de una mujer podría haberse averiado y perdió el control, chocando contra la parte trasera de un automóvil que pasaba (afortunadamente ella sobrevivió). Ocurrió frente al local de tostado de café de Starbuck's, una nueva atracción turística poco afortunada aquí en Seattle (No soy un fanático).

Usando Google Maps, podemos ver que las coordenadas GPS del local, son 47.614264, -122.328008:

Starbucks Roastery in Seattle GPS in Google Maps

El artículo nos dice que el accidente sucedió alrededor de las 5 pm. Así que utilizaremos ésta información para crear nuestro Momento:

Create a Second moment

Aquí puedes ver los dos momentos que añadimos:

List of Your Moments

En caso que te preguntes, el ícono del borrador purga resultados pasados para esa búsqueda de momento.

Aquí están los resultados para nuestra búsqueda del local de Starbucks. Nadie publicó fotos del lugar del accidente-prevaleció la cortesía común. Sin embargo, todos éstos usuarios de Instagram estaban en el área en ese momento y podría valer la pena contactarlos como testigos.

Instagram Media Search for Starbucks Roastery Accident

Algunos eran turistas como ésta mujer rusa-he publicado la traducción de Google de su publicación en Instagram abajo:

Instagram Media Search for Starbucks Roastery Accident Russian Tourist

Otros visitaron la sala de degustación del café de Starbucks o un bar cercano y un restaurante de mariscos.

Espero que puedas ver el lado claro y el lado oscuro de la tecnología de geoetiquetado. Hay obvios usos legítimos que éstas tecnologías pueden ofrecer para bien, y obviamente se puede abusar de ellos.

¿Qué sigue?

En el próximo episodio, vamos a implementar momentos de búsqueda utilizando la API de Twitter.

Por el momento, con toda confianza puedes escribir tus preguntas y comentarios abajo. También puedes contactarme por Twitter @reifman o por correo electrónico directamente. Especialmente agradecería escuchar a periodistas y elementos de las fuerzas del orden que hacen uso de éstos ejemplos.

Puedes también navegar por mi página instructor en Tuts+ para ver otros tutoriales que he escrito.

Enlaces relacionados

¡Sé el primero en conocer las nuevas traducciones–sigue @tutsplus_es en Twitter!

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.