Instagram如何从用户名获取我的用户ID?

问题描述 投票:105回答:24

我正在使用JSON在我的网站中嵌入我的图片Feed,URL需要我的用户ID,因此我可以检索此Feed。

那么,我在哪里可以找到/获取我的用户ID?

instagram
24个回答
196
投票

答案很晚,但我认为这是本主题的最佳答案。希望这很有用。

使用以下网址发出请求时,您可以获取用户信息:

https://www.instagram.com/{username}/?__a=1

E.g:

此网址将获取有关用户名为摇滚的用户的所有信息

https://www.instagram.com/therock/?__a=1

更新i 6月-20-2019,API现已公开。无需身份验证。

在12月11日到2018年更新,我需要确认此端点仍然有效。您需要在向此站点发送请求之前登录,因为它不再是公共端点。登录步骤也很简单。这是我的演示:https://youtu.be/ec5QhwM6fvc


在4月17日到1818年更新,看起来这个端点仍在工作(但它不再是公共端点),您必须向该端点发送带有额外信息的请求。 (按F12打开开发人员工具栏,然后单击“网络”选项卡并跟踪请求。)

对不起,因为我太忙了。希望这些信息可以帮到你们。嗯,如果你愿意,可以随意给我一个投票。


更新于4月12日至2018年,cameronjonesweb表示此端点不再起作用。当他/她尝试访问此端点时,将返回403状态代码。



3
投票

获取您的ID,向Instagram API users/self/feed端点发出经过身份验证的请求。除其他数据外,响应将包含用户名和用户ID。


3
投票

6/1/2016 Instagram API changes之后,大多数这些答案都是无效的。现在最好的解决方案是here。转到instagram.com上的Feed,复制任何图片的链接地址,然后将其粘贴到该页面的文本框中。工作就像一个魅力。


3
投票

截至2014年10月14日,无访问令牌的工作解决方案:

搜索用户名:

https://www.instagram.com/web/search/topsearch/?query=<username>

例:

https://www.instagram.com/web/search/topsearch/?query=therock

这是一个搜索查询。在回复中找到完全匹配的条目,并从条目中获取用户ID。


2
投票

Go to the api console并在文本字段中复制链接https://api.instagram.com/v1/users/self并使用您的Instagram ID和密码进行身份验证,您将获得您的身份证明作为回应


2
投票

这可以通过Instagram的开发者网站上的apigee.com Instagram API访问here来完成。登录后,单击“/ users / search”API调用。从那里,您可以搜索任何用户名并检索其ID。

{
"data": [{
    "username": "jack",
    "first_name": "Jack",
    "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_66_75sq.jpg",
    "id": "66",
    "last_name": "Dorsey"
},
{
    "username": "sammyjack",
    "first_name": "Sammy",
    "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_29648_75sq_1294520029.jpg",
    "id": "29648",
    "last_name": "Jack"
},
{
    "username": "jacktiddy",
    "first_name": "Jack",
    "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_13096_75sq_1286441317.jpg",
    "id": "13096",
    "last_name": "Tiddy"
}]}

如果您已有访问代码,也可以这样执行:https://api.instagram.com/v1/users/search?q=USERNAME&access_token=ACCESS_TOKEN



2
投票

虽然它不再列在API文档页面上,但我发现thread提到你可以使用self代替user-id作为users/{user-id}端点,它将返回当前经过身份验证的用户信息。

因此,users/self与显式调用users/{some-user-id}相同,并包含用户的id作为有效负载的一部分。一旦您通过身份验证,只需调用users/self,结果将包含当前经过身份验证的用户ID,如下所示:

{
    "data": {
        "id": "1574083",
        "username": "snoopdogg",
        "full_name": "Snoop Dogg",
        "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_1574083_75sq_1295469061.jpg",
        "bio": "This is my bio",
        "website": "http://snoopdogg.com",
        "counts": {
            "media": 1320,
            "follows": 420,
            "followed_by": 3410
        }
}

2
投票

如果您使用隐式身份验证必须具有无法找到user_id的问题

我找到了一个方法,例如:

Access Token = 1506417331.18b98f6.8a00c0d293624ded801d5c723a25d3ec the User id is 1506417331

你会做一个单独的拆分单。 obtenies访问令牌和第一个元素


2
投票

我认为最好,最简单和最安全的方法是在浏览器中打开你的Instagram个人资料,查看源代码并在主javascript代码中查找用户变量(ctrl + f“user”:{“)。用户变量中的id号应该是是你的身份。

这是代码在编写这个答案时的样子(它可以,也可能在将来改变):

"user":{"username":"...","profile_picture":"...","id":"..........","full_name":"..."}},

2
投票

以下是如何从用户名中检索用户ID:

$url = "https://api.instagram.com/v1/users/search?q=[username]&access_token=[your_token]";
$obj = json_decode(@file_get_contents($url));
echo $obj->data[0]->id;

39
投票

在浏览器中输入此网址,其中包含您要查找的用户名和访问令牌

https://api.instagram.com/v1/users/search?q=[USERNAME]&access_token=[ACCESS TOKEN]

2
投票

您可以使用Instagram API(用户端点:/ users / search)来完成此操作

php中的操作方法:

function Request($url) {

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);  
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
    curl_setopt($ch, CURLOPT_HEADER, 0);  

    $result = curl_exec($ch);

    curl_close($ch);

    return $result;

}

function GetUserID($username, $access_token) {

    $url = "https://api.instagram.com/v1/users/search?q=" . $username . "&access_token=" . $access_token;

    if($result = json_decode(Request($url), true)) {

        return $result['data'][0]['id'];

    }

}

// example:
echo GetUserID('rathienth', $access_token);

2
投票

这是一个非常简单的网站,适合我:

http://www.instaid.co.uk/

或者您可以使用Instagram用户名替换“用户名”

https://www.instagram.com/username/?__a=1

或者您可以登录您的Instagram帐户并使用谷歌开发工具查看已存储的cookie。 'ds_user_id'是您的用户ID

enter image description here


1
投票
https://api.instagram.com/v1/users/search?q="[USERNAME]"&access_token=[ACCESS TOKEN]

请注意引号。

这并不总是返回有效结果,但比非引用结果更常见:

https://api.instagram.com/v1/users/search?q="self"&count=1&access_token=[ACCESS TOKEN] 

返回用户“self”(id:311176867)

https://api.instagram.com/v1/users/search?q=self&count=1&access_token=[ACCESS TOKEN]

返回用户“super_selfie”(id:1422944651)


1
投票

工作解决方案~2018

我发现,如果您有访问令牌,您可以在浏览器中执行以下请求:

https://api.instagram.com/v1/users/self?access_token=[VALUE]

实际上,访问令牌包含用户ID(令牌的第一段):

<user-id>.1677aaa.aaa042540a2345d29d11110545e2499

您可以使用this tool provided by Pixel Union获取访问令牌。


0
投票

首先在Instagram上创建一个应用程序并获取您的应用程序的客户端ID

http://instagram.com/developer/

现在,只需将您的用户名和客户端ID https://api.instagram.com/v1/users/search?q=[Your-username]&client_id=[Your-Client-Id]替换为将Url复制到浏览器窗口即可

您将获得一个Json结果,其中包含有关您帐户的常规信息以及您的数字用户ID


18
投票

自2016年6月1日api更改以来,大多数方法都已过时

以下对我有用,

  • 在您的浏览器上访问instagram说chrome,safari或firefox。
  • 启动开发人员工具,转到控制台选项。
  • 在命令提示符下输入以下命令并按Enter键: window._sharedData.entry_data.ProfilePage[0].user.id

如果运气好的话,您将获得第一次尝试,如果没有,请耐心等待,刷新页面并再试一次。继续做,直到你看到用户ID。祝好运!!


18
投票

轻松获取用户ID和用户详细信息

https://api.instagram.com/v1/users/search?q=[用户名]&client_id = [您的APP客户ID]

例如:

https://api.instagram.com/v1/users/search?q=zeeshanakhter2009&client_id=enter_your_id

结果:

{ “元”:{ “代码”:200}, “数据”:[{ “用户名”: “zeeshanakhter2009”, “生物”: “http://about.me/zeeshanakhter”, “网站”:“HTTP: //zeeshanakhter.com","profile_picture":"http://images.ak.instagram.com/profiles/profile_202090411_75sq_1377878261.jpg","full_name":"Zeeshan Akhter“,”id“:”202090411“}]}


14
投票

可以检查Instagram用户页面以获取ID,而不是使用API​​。 PHP中的示例代码:

$html = file_get_contents("http://instagram.com/<username>");
$doc = new DOMDocument();
$doc->loadHTML($html);

$xpath = new DOMXPath($doc);
$js = $xpath->query('//body/script[@type="text/javascript"]')->item(1)->nodeValue;

$start = strpos($js, '{');
$end = strrpos($js, ';');
$json = substr($js, $start, $end - $start);

$data = json_decode($json, true);
$data = $data["entry_data"]["UserProfile"][0];
# The "userMedia" entry of $data now has the same structure as the "data" field
# in Instagram API responses to user endpoints queries

echo $data["user"]["id"];

当然,如果Instagram更改其页面格式,则必须调整此代码。


7
投票

目前没有直接的Instagram API来从用户名获取用户ID。你需要调用GET /users/search API然后迭代结果并检查username字段值是否等于你的用户名,然后你抓住id


6
投票

我写了这个工具,用于通过用户名检索Instagram ID:Instagram User ID Lookup

它利用python-instagram库访问API,并包含一个link to the source code(在Django上编写),它说明了Instagram API的各种实现。

更新:添加了port to Ruby on Rails的源代码。


5
投票

我尝试了所有上述解决方案,但都没有效果。我猜Instagram已经加速了他们的变化。然而,我试过了浏览器控制台方法并且玩了一下,发现这个命令给了我用户ID。

window._sharedData.entry_data.ProfilePage[0].graphql.user.id

您只需访问配置文件页面并在控制台中输入此命令即可。您可能需要刷新页面才能使用此功能。 (由于我的声誉很低,我不得不将此作为答案发布)


4
投票

你需要使用Instagrams API将你的username转换为id

如果我没记错的话,你可以使用users/search找到用户名并从那里获取id

© www.soinside.com 2019 - 2024. All rights reserved.