Tôi đang trong quá trình nhúng nguồn cấp dữ liệu hình ảnh của mình vào trang web của mình bằng JSON, URL cần id người dùng của tôi để tôi có thể truy xuất nguồn cấp dữ liệu này.
Vì vậy, tôi có thể tìm / lấy id người dùng ở đâu?
Tôi đang trong quá trình nhúng nguồn cấp dữ liệu hình ảnh của mình vào trang web của mình bằng JSON, URL cần id người dùng của tôi để tôi có thể truy xuất nguồn cấp dữ liệu này.
Vì vậy, tôi có thể tìm / lấy id người dùng ở đâu?
Câu trả lời:
Câu trả lời rất muộn nhưng tôi nghĩ đây là câu trả lời hay nhất của chủ đề này. Hy vọng điều này là hữu ích.
Bạn có thể nhận thông tin người dùng khi yêu cầu được thực hiện với url bên dưới:
https://www.instagram.com/{username}/?__a=1
Ví dụ:
Url này sẽ nhận được tất cả thông tin về người dùng có tên người dùng
https://www.instagram.com/therock/?__a=1
Cập nhật vào tháng 12-11-2018, tôi cần xác nhận rằng điểm cuối này vẫn hoạt động. Bạn cần đăng nhập trước khi gửi yêu cầu đến trang này vì nó không còn là điểm cuối công khai nữa. Bước đăng nhập cũng dễ dàng. Đây là bản demo của tôi: https://youtu.be/ec5QhwM6fvc
Cập nhật vào ngày 17 tháng 4 năm 2018, có vẻ như điểm cuối này vẫn hoạt động (nhưng không phải là điểm cuối công khai nữa), bạn phải gửi yêu cầu có thêm thông tin đến điểm cuối đó. (Nhấn F12 để mở thanh công cụ của nhà phát triển, sau đó nhấp vào Tab Mạng và theo dõi yêu cầu.)
Xin lỗi vì tôi quá bận. Hy vọng thông tin này sẽ giúp các bạn. Hmm, cứ thoải mái bỏ phiếu cho tôi nếu bạn muốn.
Cập nhật vào tháng 4-2018, cameronjonesweb nói rằng điểm cuối này không còn hoạt động nữa. Khi anh ấy / cô ấy cố gắng truy cập điểm cuối này, 403 sẽ trả lại mã trạng thái.
Nhập url này trong trình duyệt của bạn với tên người dùng bạn muốn tìm và mã thông báo truy cập của bạn
https://api.instagram.com/v1/users/search?q=[USERNAME]&access_token=[ACCESS TOKEN]
Hầu hết các phương pháp đã lỗi thời kể từ tháng 6, 1/2016 thay đổi api
Dưới đây làm việc cho tôi,
trên dấu nhắc lệnh, nhập lệnh bên dưới và nhấn enter:
window._sharedData.entry_data.ProfilePage[0].user.id
Nếu bạn may mắn, bạn sẽ nhận được ngay lần thử đầu tiên, nếu không, hãy kiên nhẫn, làm mới trang và thử lại. tiếp tục làm cho đến khi bạn thấy id người dùng. Chúc may mắn!!
Dễ dàng lấy ID người dùng và chi tiết người dùng
https://api.instagram.com/v1/users/search?q= [ TÊN NGƯỜI DÙNG] & client_id = [ID ứng dụng khách của bạn]
Ví dụ:
https://api.instagram.com/v1/users/search?q=zeeshanakhter2009&client_id=enter_your_id
Kết quả:
{"meta": {"code": 200}, "data": [{"tên người dùng": "zeeshanakhter2009", "bio": "http://about.me/zeeshanakhter", "website": "http: //zeeshanakhter.com "," "" "" "" "
Thay vì sử dụng API, người ta có thể kiểm tra trang người dùng Instagram để lấy id. Mã ví dụ trong 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"];
Tất nhiên, mã này phải được điều chỉnh nếu Instagram thay đổi định dạng trang.
?__a=1
để chỉ lấy JSON trong window._sharedData
đối tượng, để bạn có thể làm một cái gì đó như thế nào curl https://www.instagram.com/username/?__a=1|jq -r .user.id
.
Hiện tại không có API Instagram trực tiếp để lấy id người dùng từ tên người dùng. Bạn cần gọi API GET / users / search và sau đó lặp lại kết quả và kiểm tra xem username
giá trị trường có bằng tên người dùng của bạn hay không, sau đó bạn lấy id
.
Tôi đã viết công cụ này để truy xuất ID Instagram theo tên người dùng: Tra cứu ID người dùng Instagram .
Nó sử dụng thư viện python-instagram để truy cập API và bao gồm một liên kết đến mã nguồn (được viết trên Django), minh họa các triển khai khác nhau của API Instagram.
Cập nhật : Đã thêm mã nguồn cho cổng vào Ruby on Rails .
Tôi đã thử tất cả các giải pháp đã nói ở trên và không có giải pháp nào. Tôi đoán Instagram đã tăng tốc thay đổi của họ. Tôi đã thử, tuy nhiên, phương pháp bảng điều khiển trình duyệt và chơi xung quanh một chút và tìm thấy lệnh này đã cung cấp cho tôi ID người dùng.
window._sharedData.entry_data.ProfilePage[0].graphql.user.id
Bạn chỉ cần truy cập trang của một hồ sơ và nhập lệnh này trong bảng điều khiển. Bạn có thể cần phải làm mới trang để làm việc này. (Tôi đã phải đăng bài này như một câu trả lời, vì danh tiếng thấp của tôi)
Giải pháp làm việc không có mã thông báo truy cập kể từ tháng 10-2018:
Tìm kiếm tên người dùng:
https://www.instagram.com/web/search/topsearch/?query=<username>
Thí dụ:
https://www.instagram.com/web/search/topsearch/?query=therock
Đây là một truy vấn tìm kiếm. Tìm mục phù hợp chính xác trong trả lời và nhận ID người dùng từ mục nhập.
Bạn cần sử dụng Instagrams API
để chuyển đổi username
thành id
.
Nếu tôi nhớ chính xác, bạn sử dụng users/search
để tìm tên người dùng và lấy id từ đó
users/search
, sau đó bạn nhận được id
và sử dụng nó trong bất cứ điều gì bạn muốn
để nhận id của bạn, hãy thực hiện một yêu cầu được xác thực đến users/self/feed
điểm cuối API Instagram . phản hồi sẽ chứa, trong số các dữ liệu khác, tên người dùng cũng như id của người dùng.
Hầu hết các câu trả lời này không hợp lệ sau khi thay đổi API Instagram 6/1/2016 . Giải pháp tốt nhất bây giờ là đây . Truy cập nguồn cấp dữ liệu của bạn trên instagram.com, sao chép địa chỉ liên kết cho bất kỳ hình ảnh nào của bạn và dán nó vào hộp văn bản trên trang đó. Làm việc như người ở.
Chuyển đến bảng điều khiển api và liên kết sao chép https://api.instagram.com/v1/users/self
trong trường văn bản và xác thực bằng id & mật khẩu instagram của bạn, bạn sẽ nhận được id của mình trong phản hồi
Điều này có thể được thực hiện thông qua truy cập API Instagram của apigee.com tại đây trên trang web dành cho nhà phát triển của Instagram. Sau khi đăng nhập, nhấp vào lệnh gọi API "/ users / search". Từ đó bạn có thể tìm kiếm bất kỳ tên người dùng và lấy id của nó.
{
"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"
}]}
Nếu bạn đã có mã truy cập, nó cũng có thể được thực hiện như sau:
https://api.instagram.com/v1/users/search?q=USERNAME&access_token=ACCESS_TOKEN
Vâng, bạn chỉ có thể gọi liên kết này
http://jelling.com/ajax/instagram?do=username&username=[USER_NAME_GOES_HERE[&format=json
Mặc dù nó không được liệt kê trên trang tài liệu API nữa, tôi đã tìm thấy một chủ đề đề cập rằng bạn có thể sử dụng self
thay thế user-id
chousers/{user-id}
điểm cuối và nó sẽ trả về thông tin người dùng hiện đang được xác thực.
Vì vậy, users/self
giống như một cuộc gọi rõ ràng đến users/{some-user-id}
và chứa id của người dùng như một phần của tải trọng. Khi bạn đã được xác thực, chỉ cần thực hiện cuộc gọi users/self
và kết quả sẽ bao gồm id người dùng hiện đang được xác thực, như vậy:
{
"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
}
}
Nếu bạn đang sử dụng Xác thực ẩn phải có vấn đề không thể tìm thấy user_id
Tôi tìm thấy một cách ví dụ:
Access Token = 1506417331.18b98f6.8a00c0d293624ded801d5c723a25d3ec
the User id is 1506417331
bạn sẽ làm một tách riêng biệt bởi. obtenies để acces token và yếu tố đầu tiên
Tôi nghĩ phương pháp tốt nhất, đơn giản và an toàn nhất là mở hồ sơ instagram của bạn trong trình duyệt, xem mã nguồn và tìm biến người dùng (ctrl + f "user": {" ) bên trong mã javascript chính. Số id bên trong biến người dùng nên là id của bạn
Đây là mã trông như thế nào trong thời điểm viết câu trả lời này (nó có thể, và có thể sẽ được thay đổi trong tương lai):
"user":{"username":"...","profile_picture":"...","id":"..........","full_name":"..."}},
Đây là cách bạn có thể truy xuất id người dùng của mình từ tên người dùng:
$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;
Bạn có thể làm điều này bằng cách sử dụng API Instagram (Điểm cuối người dùng: / người dùng / tìm kiếm)
hướng dẫn trong 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);
Đây là một trang web thực sự dễ dàng phù hợp với tôi:
Hoặc bạn có thể thực hiện thay thế 'tên người dùng' sau bằng tên người dùng Instagram của mình
https://www.instagram.com/username/?__a=1
Hoặc bạn có thể đăng nhập vào tài khoản Instagram của mình và sử dụng các công cụ phát triển của google và xem các cookie đã được lưu trữ. 'ds_user_id' là ID người dùng của bạn
https://api.instagram.com/v1/users/search?q="[USERNAME]"&access_token=[ACCESS TOKEN]
Xin lưu ý các dấu ngoặc kép.
Điều này không phải lúc nào cũng trả về một kết quả hợp lệ nhưng thường xuyên hơn kết quả không được trích dẫn:
https://api.instagram.com/v1/users/search?q="self"&count=1&access_token=[ACCESS TOKEN]
trả về người dùng "tự" (id: 311176867)
https://api.instagram.com/v1/users/search?q=self&count=1&access_token=[ACCESS TOKEN]
trả về người dùng "super_elfie" (id: 1422944651)
Giải pháp làm việc ~ 2018
Tôi đã thấy rằng, cung cấp cho bạn một mã thông báo truy cập, bạn có thể thực hiện yêu cầu sau trong trình duyệt của mình:
https://api.instagram.com/v1/users/self?access_token=[VALUE]
Trên thực tế, mã thông báo truy cập chứa ID người dùng (phân đoạn đầu tiên của mã thông báo):
<user-id>.1677aaa.aaa042540a2345d29d11110545e2499
Bạn có thể nhận được mã thông báo truy cập bằng cách sử dụng công cụ này do Pixel Union cung cấp .
Đầu tiên Tạo Ứng dụng trên Instagram và nhận Id khách hàng cho ứng dụng của bạn
http://instagram.com/developer/
Bây giờ chỉ cần sao chép dán theo Url vào cửa sổ trình duyệt bằng cách thay thế Tên người dùng và Id khách hàng của bạn https://api.instagram.com/v1/users/search?q=[Your-username[&client_id=[Your-Client-Id]
bạn sẽ nhận được Kết quả Json chứa Thông tin chung về tài khoản của bạn cùng với Id người dùng Số của bạn