Instagram的如何从用户名得到我的用户名?
我正在使用JSON将我的图像订阅源embedded到我的网站中,该url需要我的用户标识,以便检索此订阅源。
那么,我在哪里可以find/获取我的用户ID?
答案很晚,但我认为这是这个话题的最佳答案。 希望这是有用的。
您可以通过以下url获取用户信息:
https://www.instagram.com/{username}/?__a=1
例如:
此url将获得有关用户名为therock的用户的所有信息
https://www.instagram.com/therock/?__a=1
在浏览器中input您想要查找的用户名和访问令牌的URL
https://api.instagram.com/v1/users/search?q=[USERNAME]&access_token=[ACCESS TOKEN]
轻松获取用户ID和用户详细信息
https://api.instagram.com/v1/users/search?q= [用户名]&client_id = [YOU APP客户端ID]
例如:
https://api.instagram.com/v1/users/search?q=zeeshanakhter2009&client_id=input您的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“}]}
我们可以检查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改变了它的页面格式,这个代码必须被修改。
大多数方法自6月1日API变化以来已经过时
下面为我工作,
- 访问您的浏览器的Instagram说,铬,Safari或Firefox。
- 启动开发人员工具,转到控制台选项。
-
在命令提示符下input下面的命令,然后回车:
window._sharedData.entry_data.ProfilePage[0].user.id
如果你很幸运,你会第一次尝试,如果没有,耐心,刷新页面,然后再试一次。 继续做,直到你看到用户ID。 祝你好运!!
我编写了这个工具来检索Instagram的ID用户名: Instagram的用户ID查找 。
它利用python-instagram库访问API,并包含一个指向源代码的链接 (用Django编写),该链接说明了Instagram API的各种实现。
更新 :添加了端口到Ruby on Rails的源代码。
目前没有直接的Instagram API从用户名获取用户标识。 您需要调用GET / users / search API,然后迭代结果并检查username
段值是否等于您的用户名,然后获取该id
。
您需要使用Instagrams API
将您的username
转换为id
。
如果我没有记错的话,你可以使用users/search
来find用户名,并从那里得到id
要获取您的ID,请向Instagram API users/self/feed
terminal进行身份validation请求。 除了其他数据之外,响应将包含用户名以及用户的ID。
转到api控制台并复制链接https://api.instagram.com/v1/users/self
在文本字段中,并使用您的instagram id和密码进行身份validation,您将得到您的id在响应
在API 2016年6月1日更改后,这些答案中的大部分都是无效的。 现在最好的解决scheme在这里 。 在instagram.com上转到您的Feed,复制您的任何图片的链接地址,并将其粘贴到该页面的文本框中。 像魅力一样工作。
这可以通过Instagram的开发人员网站上的apigee.com Instagram API访问完成。 login后,点击“/ users / search”API调用。 从那里你可以search任何用户名和检索其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
那么你可以打这个链接
http://jelled.com/ajax/instagram?do=username&username=%5BUSER_NAME_GOES_HERE%5D&format=json
我认为最好,最简单和最安全的方法是在浏览器中打开你的instagramconfiguration文件 , 查看源代码,并在主javascript代码中查找用户variables (ctrl + f “user”:{“ )。是你的身份证。
这是在写这个答案的时候它的代码(它可以,将来可能会改变):
"user":{"username":"...","profile_picture":"...","id":"..........","full_name":"..."}},
您可以使用Instagram API (用户端点:/用户/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);
虽然没有在API文档页面上列出,但是我发现了一个线程 ,提到您可以使用self
来代替user-id
users/{user-id}
端点的users/{user-id}
,它将返回当前authentication的用户信息。
因此, users/self
与显式调用users/{some-user-id}
并且包含用户的id作为有效载荷的一部分。 一旦你通过身份validation,只需打电话给users/self
,结果将包括当前经过身份validation的用户的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 } }
如果使用隐式身份validation,则必须具有无法finduser_id的问题
我find了一个方法,例如:
Access Token = 1506417331.18b98f6.8a00c0d293624ded801d5c723a25d3ec the User id is 1506417331
你会做一个单独的单独的。 奥特梅尔访问令牌和第一个元素
以下是您如何从用户名中检索您的用户名:
$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;
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)
首先在Instagram上创build一个应用程序,并为您的应用程序获取客户端ID
http://instagram.com/developer/
现在只需将Url下面的Url复制到浏览器窗口,方法是更换您的用户名和客户端ID https://api.instagram.com/v1/users/search?q=%5BYour-username%5D&client_id=%5BYour-Client-Id%5D
你将得到一个包含你的帐户一般信息的Json结果以及你的数字用户ID
这是一个非常简单的网站,适合我:
或者你可以用你的Instagram用户名replace“username”
https://www.instagram.com/username/?__a=1
或者您可以login到您的Instagram帐户,并使用谷歌开发工具,并查看已存储的cookie。 'ds_user_id'是你的用户ID