Instagram bagaimana cara mendapatkan id pengguna saya dari nama pengguna?

125

Saya sedang dalam proses menyematkan umpan gambar saya di situs web saya menggunakan JSON, URL membutuhkan id pengguna saya sehingga saya dapat mengambil umpan ini.

Jadi, di mana saya dapat menemukan / mendapatkan id pengguna saya?

Muhammad Reda
sumber
1
Saya telah menemukan alat baru dan lebih cepat untuk ini, lihat codeofaninja.com/tools/find-instagram-user-id
Emkey
Anda juga mungkin tertarik untuk menemukan nama pengguna dari ID pengguna, jika seseorang sering mengubah nama pengguna. Saya menambahkan jawaban yang berfungsi tanpa token akses: stackoverflow.com/a/60744028/1176454
baptx

Jawaban:

235

Jawaban yang sangat terlambat tapi saya pikir ini adalah jawaban terbaik dari topik ini. Semoga ini bermanfaat.

Anda bisa mendapatkan info pengguna saat permintaan dilakukan dengan url di bawah ini:

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

Misalnya:

URL ini akan mendapatkan semua informasi tentang pengguna yang nama penggunanya ada di sana

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

Perbarui i Juni-20-2019, API bersifat publik sekarang. Tidak diperlukan otentikasi.

Pembaruan pada Desember-11-2018, saya perlu mengkonfirmasi bahwa titik akhir ini masih berfungsi. Anda harus masuk sebelum mengirim permintaan ke situs ini karena itu bukan titik akhir publik lagi. Langkah masuknya juga mudah. Ini adalah demo saya: https://youtu.be/ec5QhwM6fvc


Pembaruan pada Apr-17-2018, sepertinya titik akhir ini masih berfungsi (tetapi bukan titik akhir publik lagi), Anda harus mengirim permintaan dengan informasi tambahan ke titik akhir itu. (Tekan F12 untuk membuka toolbar pengembang, lalu klik ke Tab Jaringan dan lacak permintaan.)

Maaf karena saya terlalu sibuk. Semoga informasi ini membantu kalian. Hmm, jangan ragu untuk memberi saya suara turun jika Anda mau.


Pembaruan pada Apr-12-2018, cameronjonesweb mengatakan bahwa titik akhir ini tidak berfungsi lagi. Ketika dia mencoba mengakses titik akhir ini, 403 kode status kembali.


Thinh Vu
sumber
1
Bagaimana caramu menemukannya?
nilfalse
6
Saat Anda membuka Developer Windows pada browser Anda dan membuka tab Network, Anda dapat melihat permintaan untuk url ini.
Thinh Vu
3
cari id pemilik.
Gulok
1
ini luar biasa! penemuan yang bagus. semoga saja ini tidak terbatas.
ded
2
Sayangnya, ini tidak berfungsi kecuali Anda memiliki ID pengguna spesifik yang Anda tahu. Cara instagram memeriksa apakah permintaannya valid adalah oleh cookie yang dikirimkan di header. Jika user_id ada dalam proksi cookie, itu akan dianggap sebagai permintaan yang valid. Lihatlah properti cookie pada tajuk permintaan ketika Anda menavigasi ke URL yang ditampilkan
Kiong
39

Masukkan url ini di browser Anda dengan nama pengguna yang ingin Anda temukan dan token akses Anda

https://api.instagram.com/v1/users/search?q=[USERNAME]&access_token=[ACCESS TOKEN]
estherz
sumber
16
Dengan sedih; ini cacat :( Kami telah menemukan bahwa jika Anda duduk menyegarkan url ini, Anda dapat secara acak mendapatkan pengguna lain yang nama penggunanya dimulai dengan nama pengguna yang Anda cari. Misalnya. Jika Anda mencari "fred1" tetapi ada juga "fred123 ", Anda akan mendapatkan hasil acak! Dilaporkan ke instagram; menunggu respons :(
Danny Tuppeny
@ membeku Saya merasa itu tidak bisa diandalkan — Anda sudah mendapatkan hasil yang lebih baik?
sambecker
Ini tidak berfungsi, karena Anda memerlukan izin "public_content" untuk ini.
desloovere_j
@DannyTuppeny Apakah Anda pernah mendengar kabar dari Instagram?
Antrian
@Queue Tidak ada yang berguna, hanya sampah. Akhirnya kami menyerah dan karena perubahan mereka pada bulan Juni yang benar-benar menghancurkan integrasi kami, kami hanya merampas mereka dari aplikasi kami sepenuhnya.
Danny Tuppeny
18

Sebagian besar metode sudah usang sejak perubahan Juni, 1/2016 api

Di bawah ini bekerja untuk saya,

  • akses instagram di browser Anda, katakan chrome, safari atau firefox.
  • Luncurkan alat pengembang, buka opsi konsol.
  • pada command prompt masukkan perintah di bawah ini dan tekan enter:

    window._sharedData.entry_data.ProfilePage[0].user.id
    

Jika Anda beruntung, Anda akan mendapatkan upaya pertama, jika tidak, bersabarlah, menyegarkan halaman dan coba lagi. terus lakukan sampai Anda melihat id pengguna. Semoga berhasil!!

f-masyarakat
sumber
1
Berikut ini contoh kode untuk solusi ini. github.com/vhpoet/liltools/blob/master/index.js#L13-L28 Diinangi: liltools.com/instagram
Vahe Hovhannisyan
18

Dapatkan ID PENGGUNA dan Detail Pengguna dengan mudah

https://api.instagram.com/v1/users/search?q= [ NAMA PENGGUNA] & client_id = [YOU APP ID Klien]

Sebagai contoh:

https://api.instagram.com/v1/users/search?q=zeeshanakhter2009&client_id=enter_your_id

Hasil:

{"meta": {"code": 200}, "data": [{"username": "zeeshanakhter2009", "bio": "http://about.me/zeeshanakhter", "situs web": "http: //zeeshanakhter.com","profile_picture":"http://images.ak.instagram.com/profiles/profile_202090411_75sq_1377878261.jpg","full_name":"Zeeshan Akhter "," id ":" 202090411 "}}

Zeeshan Akhter
sumber
1
Cara termudah. Dan tidak perlu untuk token akses! Love it :)
Can Vural
1
saya juga menulis topik bantuan tentang hal itu di java Anda dapat melihat secara detail latest-tutorial.com/2014/01/27/get-instagram-media-comments
Zeeshan Akhter
6
Dengan sedih; ini cacat :( Kami telah menemukan bahwa jika Anda duduk menyegarkan url ini, Anda dapat secara acak mendapatkan pengguna lain yang nama penggunanya dimulai dengan nama pengguna yang Anda cari. Misalnya. Jika Anda mencari "fred1" tetapi ada juga "fred123 ", Anda akan mendapatkan hasil acak! Dilaporkan ke instagram; menunggu respons :(
Danny Tuppeny
1
Saya setuju dengan Danny, metode ini tidak selalu berhasil.
ca
2
Tidak lagi berfungsi karena Instagram telah menghapus semua dukungan client_id pada 1 Juni 2016
Malcolm Box
14

Alih-alih menggunakan API, orang dapat memeriksa halaman pengguna Instagram untuk mendapatkan id. Contoh kode dalam 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"];

Tentu saja, kode ini harus diadaptasi jika Instagram mengubah format halamannya.

Ulysses Percival
sumber
4
Sepertinya ide buruk untuk tidak menggunakan API
472084
2
Sebagai jawaban oleh Thinh Vu menyebutkan, Anda dapat menambahkan ?__a=1untuk mendapatkan JSON di window._sharedDataobjek, sehingga Anda dapat melakukan sesuatu seperti curl https://www.instagram.com/username/?__a=1|jq -r .user.id.
nisetama
7

Saat ini tidak ada API Instagram langsung untuk mendapatkan id pengguna dari nama pengguna. Anda perlu memanggil GET / pengguna / pencarian API dan kemudian mengulangi hasilnya dan memeriksa apakah nilai usernamebidang sama dengan nama pengguna Anda atau tidak, maka Anda ambil id.

batal
sumber
6

Saya menulis alat ini untuk mengambil ID Instagram dengan nama pengguna: Pencarian ID Pengguna Instagram .

Ini menggunakan pustaka python-instagram untuk mengakses API dan menyertakan tautan ke kode sumber (ditulis di Django), yang menggambarkan berbagai implementasi API Instagram.

Pembaruan : Menambahkan kode sumber untuk port ke Ruby on Rails .

zeantsoi
sumber
4
Alat untuk mengambil ID Instagram berdasarkan tautan nama pengguna tidak berfungsi. Harap perbarui.
Nishant Nawarkhede
@JaydeepJadav bahkan tidak sebanyak "tolong"? Kode sumber ada di GitHub - Anda dipersilakan untuk membuka permintaan tarik.
zeantsoi
5

Saya mencoba semua solusi yang disebutkan di atas dan tidak ada yang berhasil. Saya kira Instagram telah mempercepat perubahan mereka. Saya mencoba, bagaimanapun, metode konsol browser dan bermain-main sedikit dan menemukan perintah ini yang memberi saya ID pengguna.

window._sharedData.entry_data.ProfilePage[0].graphql.user.id

Anda cukup mengunjungi halaman profil dan memasukkan perintah ini di konsol. Anda mungkin perlu me-refresh halaman agar ini berfungsi. (Saya harus memposting ini sebagai jawaban, karena reputasi saya yang rendah)

ionpan
sumber
5

Solusi yang berfungsi tanpa token akses pada Oktober-14-2018:

Cari nama pengguna:

https://www.instagram.com/web/search/topsearch/?query=<username>

Contoh:

https://www.instagram.com/web/search/topsearch/?query=therock

Ini adalah permintaan pencarian. Temukan entri yang cocok persis di balasan dan dapatkan ID pengguna dari entri tersebut.

lashgar
sumber
jawaban singkat dan terbaik tetapi jika nama pengguna tidak ditemukan itu akan menampilkan hasil yang terkait.
sanjeet bisht
4

Anda perlu menggunakan Instagrams APIuntuk mengonversi usernameke id.

Jika saya ingat benar Anda gunakan users/searchuntuk menemukan nama pengguna dan mendapatkan id dari sana

mlishn
sumber
Bisakah Anda memberi tahu saya metode yang melakukan itu !?
Muhammad Reda
melakukan apa? pencarian dicapai oleh permintaan API users/search, maka Anda mendapatkan iddan menggunakannya dalam apa pun yang Anda suka
mlishn
4
Dengan sedih; ini cacat :( Kami telah menemukan bahwa jika Anda duduk menyegarkan url ini, Anda dapat secara acak mendapatkan pengguna lain yang nama penggunanya dimulai dengan nama pengguna yang Anda cari. Misalnya. Jika Anda mencari "fred1" tetapi ada juga "fred123 ", Anda akan mendapatkan hasil acak! Dilaporkan ke instagram; menunggu respons :(
Danny Tuppeny
ganti nama pengguna dengan nama pengguna sebenarnya di tautan di bawah ini api.instagram.com/v1/users/…
Chhatrapati Sharma
3

untuk mendapatkan id Anda, buat permintaan yang diautentikasi ke users/self/feedtitik akhir API Instagram . respons akan berisi, di antara data lain, nama pengguna serta id dari pengguna.

wehal3001
sumber
3

Sebagian besar jawaban ini tidak valid setelah perubahan Instagram API 6/1/2016 . Solusi terbaik sekarang ada di sini . Buka umpan Anda di instagram.com, salin alamat tautan untuk gambar Anda, dan tempelkan ke kotak teks di halaman itu. Bekerja seperti pesona.

Southerneer
sumber
2

Buka konsol api & salin tautan https://api.instagram.com/v1/users/self dalam bidang teks dan autentikasi menggunakan id & kata sandi instagram Anda, Anda akan mendapatkan id Anda sebagai tanggapan

sharmaravi
sumber
2

Ini dapat dilakukan melalui akses API Instagram apigee.com di sini di situs pengembang Instagram. Setelah masuk, klik pada panggilan API "/ pengguna / pencarian". Dari sana Anda dapat mencari nama pengguna dan mengambil idnya.

{
"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"
}]}


Jika Anda sudah memiliki kode akses, itu juga dapat dilakukan seperti ini: https://api.instagram.com/v1/users/search?q=USERNAME&access_token=ACCESS_TOKEN

preynolds
sumber
3
Dengan sedih; menggunakan pengguna / pencarian ini cacat :( Kami telah menemukan bahwa jika Anda duduk menyegarkan url ini, Anda dapat secara acak mendapatkan pengguna lain yang nama penggunanya dimulai dengan nama pengguna yang Anda cari. Misalnya. jika Anda mencari "fred1" tetapi ada juga "fred123", Anda akan mendapatkan hasil acak! Dilaporkan ke instagram; menunggu respons :(
Danny Tuppeny
2
Ini bukan cacat - sebenarnya ini fungsionalitas. Ini api pencarian , artinya berfungsi seperti kotak pencarian di aplikasi instagram. Cara yang tepat untuk mengambil id pengguna untuk nama pengguna adalah dengan menanyakan titik akhir pencarian ini, dan kemudian mengulangi objek yang dikembalikan dan memeriksa kecocokan nama pengguna yang tepat.
John Dorian
1
Terpilih keduanya tetapi sebagai pengembang api dapat kami setujui untuk membuat endpoint pencarian pengguna untuk menghindari ini, hanya menawarkan pencarian yang benar-benar menjengkelkan
sricks
2

Meskipun tidak terdaftar di halaman API doc lagi, saya menemukan utas yang menyebutkan bahwa Anda dapat menggunakan selfsebagai pengganti user-iduntuk users/{user-id}titik akhir dan itu akan mengembalikan info pengguna yang diautentikasi saat ini.

Jadi, users/selfsama dengan panggilan eksplisit ke users/{some-user-id}dan berisi id pengguna sebagai bagian dari payload. Setelah Anda dikonfirmasi, cukup lakukan panggilan ke users/selfdan hasilnya akan menyertakan id pengguna yang diautentikasi, seperti:

{
    "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
        }
}
markquezada
sumber
2

Jika Anda menggunakan Otentikasi implisit harus memiliki masalah karena tidak dapat menemukan user_id

Saya menemukan cara misalnya:

Access Token = 1506417331.18b98f6.8a00c0d293624ded801d5c723a25d3ec the User id is 1506417331

Anda akan melakukan split tunggal yang dipisahkan oleh. mematuhi token akses dan elemen pertama

Diego Machaca
sumber
2

Saya pikir metode terbaik, paling sederhana dan paling aman adalah membuka profil instagram Anda di browser, melihat kode sumber dan mencari variabel pengguna (ctrl + f "pengguna": {" ) di dalam kode javascript utama. Nomor id di dalam variabel pengguna harus jadilah id Anda.

Ini adalah kode yang terlihat pada saat penulisan jawaban ini (dapat, dan mungkin akan berubah di masa mendatang):

"user":{"username":"...","profile_picture":"...","id":"..........","full_name":"..."}},
Bajlo
sumber
2

Inilah cara Anda dapat mengambil id pengguna dari nama pengguna:

$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;
Nezar Fadle
sumber
2

Anda dapat melakukan ini dengan menggunakan API Instagram (Titik Akhir Pengguna: / pengguna / pencarian)

caranya di 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);
Rathienth Baskaran
sumber
3
Dengan sedih; menggunakan pengguna / pencarian ini cacat :( Kami telah menemukan bahwa jika Anda duduk menyegarkan url ini, Anda dapat secara acak mendapatkan pengguna lain yang nama penggunanya dimulai dengan nama pengguna yang Anda cari. Misalnya. jika Anda mencari "fred1" tetapi ada juga "fred123", Anda akan mendapatkan hasil acak! Dilaporkan ke instagram; menunggu respons :(
Danny Tuppeny
2

Berikut adalah situs web yang sangat mudah dan berfungsi baik untuk saya:

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

Atau Anda dapat melakukan yang berikut dengan mengganti 'nama pengguna' dengan nama pengguna Instagram Anda

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

Atau Anda dapat masuk ke akun Instagram Anda dan menggunakan alat dev google dan melihat cookie yang telah disimpan. 'ds_user_id' adalah ID pengguna Anda

masukkan deskripsi gambar di sini

BenEgan1991
sumber
Meskipun tautan ini dapat menjawab pertanyaan, lebih baik untuk memasukkan bagian-bagian penting dari jawaban di sini dan memberikan tautan untuk referensi. Jawaban hanya tautan dapat menjadi tidak valid jika halaman tertaut berubah. - Dari Ulasan
Bugs
@Bugs Saya telah menambahkan jawaban yang lebih detail. Saya hanya mencoba berkontribusi pada komunitas stackoverflow.
BenEgan1991
1
https://api.instagram.com/v1/users/search?q="[USERNAME]"&access_token=[ACCESS TOKEN]

Harap perhatikan tanda kutip.

Ini tidak selalu menghasilkan hasil yang valid tetapi lebih sering daripada yang tidak dikutip:

https://api.instagram.com/v1/users/search?q="self"&count=1&access_token=[ACCESS TOKEN] 

mengembalikan pengguna "mandiri" (id: 311176867)

https://api.instagram.com/v1/users/search?q=self&count=1&access_token=[ACCESS TOKEN]

mengembalikan pengguna "super_selfie" (id: 1422944651)

Bazan Ion
sumber
1

Solusi kerja ~ 2018

Saya telah menemukan bahwa, asalkan Anda memiliki token akses, Anda dapat melakukan permintaan berikut di browser Anda:

https://api.instagram.com/v1/users/self?access_token=[VALUE]

Faktanya, token akses berisi ID Pengguna (segmen pertama token):

<user-id>.1677aaa.aaa042540a2345d29d11110545e2499

Anda bisa mendapatkan token akses dengan menggunakan alat ini yang disediakan oleh Pixel Union .

Allan of Sydney
sumber