我正在使用JSON将图片供稿嵌入到我的网站中,URL需要我的用户ID,以便我可以检索此供稿。
那么,在哪里可以找到/获取我的用户ID?
我正在使用JSON将图片供稿嵌入到我的网站中,URL需要我的用户ID,以便我可以检索此供稿。
那么,在哪里可以找到/获取我的用户ID?
Answers:
答案很晚,但是我认为这是该主题的最佳答案。希望这是有用的。
使用以下网址提出请求时,您可以获得用户信息:
https://www.instagram.com/{username}/?__a=1
例如:
该网址将获取有关用户名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]
自1/2016年api更改以来,大多数方法已过时
下面为我工作,
在命令提示符下,输入以下命令,然后按Enter:
window._sharedData.entry_data.ProfilePage[0].user.id
如果幸运的话,您会第一次尝试,如果没有,请耐心等待,刷新页面,然后重试。继续做,直到看到用户ID。祝好运!!
轻松获取用户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“}]}}
无需使用API,您可以检查Instagram用户页面以获取ID。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更改其页面格式,则必须修改此代码。
?__a=1
以仅在window._sharedData
对象中获取JSON ,以便可以执行curl https://www.instagram.com/username/?__a=1|jq -r .user.id
。
当前没有直接的Instagram API从用户名获取用户ID。您需要调用GET / users / search API,然后迭代结果并检查username
字段值是否等于您的用户名,然后抓取id
。
我写了这个工具,用于通过用户名:Instagram User ID Lookup检索Instagram ID 。
它利用python-instagram库访问API,并包含指向源代码(用Django编写)的链接,该源代码说明了Instagram API的各种实现。
更新:添加了Ruby on Rails端口的源代码。
没有访问令牌的工作解决方案截至2018年10月14日,:
搜索用户名:
https://www.instagram.com/web/search/topsearch/?query=<username>
例:
https://www.instagram.com/web/search/topsearch/?query=therock
这是一个搜索查询。在回复中找到完全匹配的条目,并从条目中获取用户ID。
您需要使用Instagrams API
将转换username
为id
。
如果我没记错的话,您可以使用它users/search
来找到用户名并从那里获取ID
users/search
,然后您就可以id
使用,并根据需要使用它
要获取您的ID,请向Instagram API users/self/feed
端点进行身份验证的请求。响应中将包含用户名和用户ID等数据。
在2016年6月1日Instagram API更改后,这些答案大多数都无效。现在最好的解决方案在这里。转到instagram.com上的feed,复制任何图片的链接地址,然后将其粘贴到该页面的文本框中。像魅力一样工作。
这可以通过apigee.com做Instagram的API访问这里 Instagram上的开发者网站。登录后,单击“ / 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
虽然这不是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
}
}
如果您使用的是隐式身份验证,则必须解决以下问题: user_id
我找到了一种方法,例如:
Access Token = 1506417331.18b98f6.8a00c0d293624ded801d5c723a25d3ec
the User id is 1506417331
你会做一个由分隔的拆分单吗?遵守令牌和第一个元素
您可以使用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用户名替换“用户名”
https://www.instagram.com/username/?__a=1
或者,您可以登录自己的Instagram帐户并使用Google开发工具,然后查看已存储的Cookie。“ ds_user_id”是您的用户ID
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]
返回用户“自己”(标识: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],即可将“网址”后面的粘贴复制到浏览器窗口中
您将获得一个Json结果,其中包含有关您的帐户的一般信息以及您的数字用户ID