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/feedterminal进行身份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

我认为最好,最简单和最安全的方法是在浏览器中打开你的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

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

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

或者你可以用你的Instagram用户名replace“username”

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

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

在这里输入图像说明