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