2012-10-07 46 views
7

Tôi làm cách nào để có được ID người dùng với tên người dùng bằng API instagram mà không cần xác thực người dùng? Nếu tôi thử người dùng/tìm kiếm, nó sẽ trả về nhiều kết quả nghiên cứu, vậy làm thế nào tôi có thể chắc chắn rằng tôi nhận được kết quả của tên người dùng chính xác?Instagram API cách nhận ID người dùng?

Ví dụ: các yêu cầu sau trả về nhiều người dùng có tên người dùng tương tự với aliciakeys, tôi chỉ muốn nhận dữ liệu của người dùng có tên người dùng chính xác.

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

Trả lời

14

Nếu bạn biết rằng cụm từ tìm kiếm sẽ luôn là tên người dùng đầy đủ và bạn chỉ có thể lặp qua kết quả và dừng khi tên người dùng khớp chính xác với truy vấn tìm kiếm.

Ngoài ra, không bao giờ hiển thị mã thông báo truy cập của bạn ở nơi công cộng.

Đây là cách bạn sẽ làm điều đó trong 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 

?> 

Trên thực tế, rất có thể rằng nếu bạn đang tìm kiếm tên người dùng đầy đủ, hầu hết thời gian bạn tìm kiếm, kết quả đầu tiên sẽ là người bạn sẽ tìm kiếm.

+5

Xác nhận rằng kết quả đầu tiên luôn là kết quả bạn đang tìm kiếm là sai. Hãy xem ví dụ này - https://snap.apigee.com/1PuJeFw#content=request. Khi tìm kiếm người dùng "mus", đó không phải là kết quả đầu tiên. Càng nhiều thì nó thậm chí không nằm trong tập kết quả, bởi vì chúng được giới hạn ở một số lượng nhất định của các mục. – ecdeveloper

Các vấn đề liên quan