2012-10-07 22 views
7

Jak mogę uzyskać identyfikator użytkownika z nazwą użytkownika za pomocą interfejsu API Instagram bez uwierzytelniania użytkownika? Jeśli spróbuję użytkowników/wyszukiwania, zwróci to wiele wyników badań, więc skąd mogę mieć pewność, że otrzymuję wynik tylko z dokładnej nazwy użytkownika?Instagram API, jak uzyskać ID użytkownika?

Na przykład następujące prośby zwracają wielu użytkowników o nazwach użytkowników podobnych do aliciakeys, chcę uzyskać tylko dane użytkownika z dokładną nazwą użytkownika.

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

Odpowiedz

14

Jeśli wiesz, że termin wyszukiwania będzie zawsze pełna nazwa i można po prostu iterację wyników i zatrzymać, gdy nazwa jest dokładną odpowiedź na zapytanie wyszukiwania.

Nie wolno również ujawniać publicznie swoich tokenów dostępu.

ten sposób byłoby to zrobić w 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 

?> 

Faktycznie, są szanse, że jeśli szukasz pełnej nazwy użytkownika, prawie za każdym razem go wyszukać, pierwszy wynik będzie jeden ty będzie szukał.

+5

Potwierdzenie, że pierwszy wynik to zawsze wynik, którego szukasz, jest błędne. Spójrz na ten przykład - https://snap.apigee.com/1PuJeFw#content=request. Szukając użytkownika "mus", nie jest to pierwszy wynik. Tym bardziej, że nie ma ich nawet w zestawie wyników, ponieważ ograniczają się do określonej liczby przedmiotów. – ecdeveloper

Powiązane problemy