2012-10-07 27 views
7

¿Cómo puedo obtener el ID de usuario con el nombre de usuario con la API de instagram sin autenticación de usuario? Si intento usuarios/búsqueda, devuelve múltiples resultados de investigación, entonces ¿cómo puedo estar seguro de obtener el resultado del nombre de usuario exacto solamente?API de Instagram ¿cómo obtener la identificación de usuario?

Por ejemplo, las siguientes solicitudes devuelven varios usuarios que tienen sus nombres de usuario similares a aliciakeys, quiero obtener solo los datos del usuario con el nombre de usuario exacto.

https://api.instagram.com/v1/users/search?q=aliciakeys&access_token=[your token] 

Respuesta

14

Si sabe que el término de búsqueda será siempre el nombre de usuario completo y puede simplemente repetir por los resultados y se detendrá cuando el nombre de usuario es una coincidencia exacta de la consulta de búsqueda.

Además, nunca exponga sus tokens de acceso en público.

Esta es la forma en que lo haría en PHP

<?php 


function getInstaID($username) 
{ 

    $username = strtolower($username); // sanitization 
    $token = "InsertThatHere"; 
    $url = "https://api.instagram.com/v1/users/search?q=".$username."&access_token=".$token; 
    $get = file_get_contents($url); 
    $json = json_decode($get); 

    foreach($json->data as $user) 
    { 
     if($user->username == $username) 
     { 
      return $user->id; 
     } 
    } 

    return '00000000'; // return this if nothing is found 
} 

echo getInstaID('aliciakeys'); // this should print 20979117 

?> 

En realidad, lo más probable es que si usted está buscando el nombre de usuario completo, casi cada vez que la búsqueda de ella, el primer resultado será el que se estaría buscando.

+5

La afirmación de que el primer resultado es siempre el resultado que está buscando es incorrecto. Eche un vistazo a este ejemplo: https://snap.apigee.com/1PuJeFw#content=request. Cuando se busca un usuario "mus", no es el primer resultado. Más aún, ni siquiera está en el conjunto de resultados, porque están limitados a una cierta cantidad de elementos. – ecdeveloper

Cuestiones relacionadas