我正在使用 JSON 将我的图像提要嵌入到我的网站中,URL 需要我的用户 ID,以便我可以检索此提要。
那么,我在哪里可以找到/获取我的用户 ID?
答案很晚,但我认为这是该主题的最佳答案。希望这是有用的。
使用以下 url 发出请求时,您可以获取用户信息:
https://www.instagram.com/{username}/?__a=1
例如:
此 url 将获取有关用户名为 therock 的用户的所有信息
https://www.instagram.com/therock/?__a=1
2018 年 12 月 11 日更新,我需要确认此端点仍然有效。您需要在向该站点发送请求之前登录,因为它不再是公共端点。登录步骤也很简单。这是我的演示: https ://youtu.be/ec5QhwM6fvc
2018 年 4 月 17 日更新,看起来此端点仍在工作(但它不再是公共端点),您必须向该端点发送带有额外信息的请求。(按 F12 打开开发人员工具栏,然后单击网络选项卡并跟踪请求。)
对不起,因为我太忙了。希望这些信息对大家有所帮助。嗯,如果你愿意,请随时给我投反对票。
2018 年 4 月 12 日更新,cameronjonesweb 表示此端点不再工作。当他/她尝试访问此端点时,返回 403 状态码。
在您的浏览器中输入此 url,其中包含您要查找的用户名和访问令牌
https://api.instagram.com/v1/users/search?q=[USERNAME]&access_token=[ACCESS TOKEN]
轻松获取 USER 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
结果:
{"meta":{"code":200},"data":[{"username":"zeeshanakhter2009","bio":"http://about.me/zeeshanakhter","website":"http: //zeeshanakhter.com","profile_picture":"http://images.ak.instagram.com/profiles/profile_202090411_75sq_1377878261.jpg","full_name":"Zeeshan Akhter","id":"202090411"}]}
自 2016 年 1 月 1 日 api 更改以来,大多数方法已过时
下面为我工作,
在命令提示符下输入以下命令并回车:
window._sharedData.entry_data.ProfilePage[0].user.id
如果运气好的话,第一次尝试就会成功,如果没有,请耐心等待,刷新页面再试一次。继续做,直到你看到用户 ID。祝你好运!!
可以检查 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 更改其页面格式,则必须调整此代码。
截至 2018 年 10 月 14 日,没有访问令牌的工作解决方案:
搜索用户名:
https://www.instagram.com/web/search/topsearch/?query=<username>
例子:
https://www.instagram.com/web/search/topsearch/?query=therock
这是一个搜索查询。在回复中找到完全匹配的条目,并从该条目中获取用户 ID。
目前没有直接的 Instagram API 可以从用户名中获取用户 ID。您需要调用GET /users/search API,然后迭代结果并检查username
字段值是否等于您的用户名,然后获取id
.
我编写了这个工具来通过用户名检索 Instagram ID:Instagram User ID Lookup。
它利用python-instagram库来访问 API,并包含一个指向源代码的链接(在 Django 上编写),该链接说明了 Instagram API 的各种实现。
更新:添加了移植到 Ruby on Rails的源代码。
我尝试了所有上述解决方案,但都没有奏效。我猜 Instagram 加速了他们的变化。然而,我尝试了浏览器控制台方法并玩了一会儿,发现这个命令给了我用户 ID。
window._sharedData.entry_data.ProfilePage[0].graphql.user.id
您只需访问个人资料页面并在控制台中输入此命令。您可能需要刷新页面才能使其正常工作。(我不得不发布这个作为答案,因为我的声誉很低)
您需要使用Instagrams API
将您的转换username
为id
.
如果我没记错的话,您可以users/search
用来查找用户名并从那里获取 id
在 2016 年6 月 1 日 Instagram API 更改后,这些答案中的大多数都无效。现在最好的解决方案就在这里。转到您在 instagram.com 上的提要,复制任何图片的链接地址,然后将其粘贴到该页面上的文本框中。像魅力一样工作。
要获取您的 ID,请向 Instagram APIusers/self/feed
端点发出经过身份验证的请求。响应将包含用户名和用户 ID 等数据。
尽管它不再列在 API 文档页面上,但我发现一个线程提到您可以使用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
}
}
转到 api 控制台 并在文本字段中复制链接 https://api.instagram.com/v1/users/self
并使用您的 instagram id 和密码进行身份验证,您将获得您的 id 作为响应
您可以使用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);
这可以通过Instagram 开发者网站上的apigee.com Instagram API 访问来完成。登录后,点击“/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
如果使用隐式认证肯定有找不到 user_id
例如,我找到了一种方法:
Access Token = 1506417331.18b98f6.8a00c0d293624ded801d5c723a25d3ec
the User id is 1506417331
你会做一个由 . 分隔的拆分单。obtenies 访问令牌和第一个元素
我认为最好、最简单和最安全的方法是在浏览器中打开您的 Instagram 个人资料,查看源代码并在主 javascript 代码中查找用户变量(ctrl+f "user":{" )。用户变量中的 id 号应该做你的身份证。
这是编写此答案时的代码(可以并且将来可能会更改):
"user":{"username":"...","profile_picture":"...","id":"..........","full_name":"..."}},
以下是从用户名中检索用户 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;
这是一个非常适合我的非常简单的网站:
或者您可以执行以下操作,将“用户名”替换为您的 Instagram 用户名
https://www.instagram.com/username/?__a=1
或者您可以登录您的 Instagram 帐户并使用谷歌开发工具并查看已存储的 cookie。'ds_user_id' 是您的用户 ID
工作解决方案 2020 年 12 月 14 日
对于需要 Instagram 用户 ID 的 3rd 方工具(例如嵌入图像提要)的简单用途,我倾向于使用:
https://www.thekeygram.com/find-instagram-user-id/
因为它使复制和粘贴我正在寻找的 Instagram 用户 ID 变得非常容易。与大多数工具不同,我可以快速获得结果,它是免费的并且没有广告。我建议您在使用它之前先观看 youtube 视频,这样您就可以了解它的简单程度并了解它的使用方式:
https://www.youtube.com/watch?v=9HvOroY-YBw
对于更高级的用法,我建议:
https://www.instagram.com/{username}/?__a=1
(用请求的用户名替换用户名)
例如,要查找用户名“instagram”的用户 ID,您可以使用:
https://www.instagram.com/instagram/?__a=1
这是返回 JSON 响应的最先进的方式,如果您正在构建需要原始数据的应用程序,这非常棒。您可以将其保存在数据库中或构建某种类型的前端 UI 来显示它。示例:用于仪表板或网站。此外,使用 url 也很棒,因为您可以获得有关用户的其他属性,例如他们的总追随者人数和个人资料。
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)
工作解决方案~2018
我发现,只要您有访问令牌,您就可以在浏览器中执行以下请求:
https://api.instagram.com/v1/users/self?access_token=[VALUE]
实际上,访问令牌包含用户 ID(令牌的第一段):
<user-id>.1677aaa.aaa042540a2345d29d11110545e2499
您可以使用Pixel Union 提供的此工具获取访问令牌。
首先在 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
2021 年更新
只需转到Facebook 应用程序选择您与 Instagram 连接的应用程序,您将看到您的Instagram ID: ********
注意https://www.instagram.com/{username}/?__a=1不适合我,所以如果你想使用 Instagram Graph API,这不是 2021 年的解决方案