如何在没有用户身份验证的情况下使用带有Instagram API的用户名获取用户ID?如果我尝试用户/搜索,它会返回多个研究结果,那么我怎么能确定我只得到确切用户名的结果?
例如,以下请求返回多个用户名与aliciakeys
类似的用户,我只想获得具有确切用户名的用户数据。
https://api.instagram.com/v1/users/search?q=aliciakeys&access_token=[your token]
答案 0 :(得分:14)
如果您知道搜索字词将始终是完整的用户名,您可以简单地遍历搜索结果,并在用户名与搜索查询完全匹配时停止。
此外,请勿在公开场合公开您的访问权限。
这是你在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
?>
实际上,如果您正在搜索完整的用户名,几乎每次搜索时,第一个结果都是您要查找的结果。