Instagram API如何获取用户ID?

use*_*300 7 php json instagram

如何在没有用户身份验证的情况下使用带有Instagram API的用户名获取用户ID?如果我尝试用户/搜索,它会返回多个研究结果,那么我怎么能确定我只得到确切用户名的结果?

例如,以下请求返回多个用户名类似的用户aliciakeys,我只想获得具有确切用户名的用户数据.

https://api.instagram.com/v1/users/search?q=aliciakeys&access_token=[your token]
Run Code Online (Sandbox Code Playgroud)

Kar*_*tik 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

?>
Run Code Online (Sandbox Code Playgroud)

实际上,如果您正在搜索完整的用户名,几乎每次搜索时,第一个结果都是您要查找的结果.

  • 肯定第一个结果始终是您正在寻找的结果是错误的.看一下这个例子 - https://snap.apigee.com/1PuJeFw#content=request.在寻找"mus"用户时,这不是第一个结果.它甚至不在结果集中,因为它们仅限于一定数量的项目. (5认同)