Instagram kullanıcı adımdan kullanıcı kimliğimi nasıl alabilirim?


125

Resim beslememi JSON kullanarak web siteme yerleştirme sürecindeyim, bu beslemeyi alabilmem için URL’nin kullanıcı kimliğime ihtiyacı var.

Öyleyse, kullanıcı kimliğimi nereden bulabilirim / alabilirim?


1
Bunun için yeni ve daha hızlı bir araç buldum, bkz. Codeofaninja.com/tools/find-instagram-user-id
Emkey

Birinin sık sık kullanıcı adını değiştirmesi durumunda, kullanıcı kimliğinden kullanıcı adını bulmak da ilginizi çekebilir. Erişim belirteci olmadan çalışan bir yanıt ekledim: stackoverflow.com/a/60744028/1176454
baptx

Yanıtlar:


236

Çok geç cevap ama bence bu konunun en iyi cevabı bu. Umarım bu yararlıdır.

Aşağıdaki url ile bir talep yapıldığında kullanıcı bilgilerini alabilirsiniz:

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

Örneğin:

Bu url, kullanıcı adı therock olan bir kullanıcı hakkındaki tüm bilgileri alacaktır.

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

Güncelleme i Haziran-20-2019, API artık herkese açık. Kimlik doğrulama gerekmez.

Aralık-11-2018'deki güncelleme, bu uç noktanın hala çalıştığını onaylamam gerekiyordu. Bu siteye istek göndermeden önce oturum açmanız gerekiyor çünkü artık herkese açık uç nokta değil. Oturum açma adımı da kolaydır. Bu benim demom: https://youtu.be/ec5QhwM6fvc


Nisan-17-2018'de güncelleme, bu uç nokta hala çalışıyor gibi görünüyor (ancak artık genel uç nokta değil), bu uç noktaya ekstra bilgi içeren bir istek göndermelisiniz. (Geliştirici araç çubuğunu açmak için F12'ye basın, ardından Ağ Sekmesine tıklayın ve isteği izleyin.)

Üzgünüm çünkü çok meşgulüm. Umarım bu bilgiler size yardımcı olur. Hmm, isterseniz bana olumsuz oy verebilirsiniz.


Nisan-12-2018'deki güncelleme, cameronjonesweb, bu uç noktanın artık çalışmadığını söyledi. Bu uç noktaya erişmeye çalıştığında 403 durum kodu geri döner.



1
Nasıl buldun?
nilfalse

6
Tarayıcınızın Geliştirici Penceresini açıp Ağ sekmesini açtığınızda, bu url'ye yönelik istek görebilirsiniz.
Thinh Vu

3
sahip kimliğini arayın.
Gulok

1
bu harika! güzel bul. Umarım bu oran sınırlanmaz.
ded

2
Maalesef, bildiğiniz belirli bir kullanıcı kimliğiniz olmadığı sürece bu işe yaramaz. İnstagram'ın, başlıkta gönderilen çerez tarafından geçerli bir istek olup olmadığını kontrol etme şekli. Çerez alanında user_id mevcutsa, bu geçerli bir istek olarak kabul edilir. Gösterilen URL'ye gittiğinizde istek başlığındaki çerez özelliğine göz atın
Kiong

39

Bu url'yi bulmak istediğiniz kullanıcı adı ve erişim kodunuzla tarayıcınıza girin.

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

16
Ne yazık ki; bu hatalı :( Bu url'yi yenilerken, kullanıcı adı aradığınız kullanıcı adıyla başlayan diğer kullanıcıları rastgele alabileceğinizi keşfettik. Örneğin, "fred1" arıyorsanız, ancak bir "fred123 ", rastgele sonuçlar alacaksınız!
İnstagram'a

@frosty Bunu oldukça güvenilmez buluyorum - daha iyi sonuçlar mı aldınız?
sambecker

Bunun için "public_content" iznine ihtiyacınız olduğundan bu işe yaramaz.
desloovere_j

@DannyTuppeny Instagram'dan hiç haber aldınız mı?
Sıra

@Queue Yararlı bir şey yok, sadece çöp. Sonunda pes ettik ve Haziran ayında entegrasyonumuzu tamamen bozan değişikliklerinden bu yana, onları uygulamamızdan tamamen çıkarıyoruz.
Danny Tuppeny

18

Yöntemlerin çoğu, 1/2016 api değişikliklerinden bu yana kullanılmıyor

Aşağıda benim için çalıştı

  • Tarayıcınızda instagram'a erişin, chrome, safari veya firefox deyin.
  • Geliştirici araçlarını başlatın, konsol seçeneğine gidin.
  • komut isteminde aşağıdaki komutu girin ve enter tuşuna basın:

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

Şanslıysanız, ilk denemede alacaksınız, değilse sabırlı olun, sayfayı yenileyin ve tekrar deneyin. kullanıcı kimliğini görene kadar yapmaya devam edin. İyi şanslar!!


1
İşte bu çözüm için örnek bir kod. github.com/vhpoet/liltools/blob/master/index.js#L13-L28 Barındırılan: liltools.com/instagram
Vahe Hovhannisyan

18

Kullanıcı Kimliğini ve Kullanıcı Ayrıntılarını Kolayca Alın

https://api.instagram.com/v1/users/search?q= [ KULLANICI ADI] & client_id = [YOU APP İstemci Kimliği]

Örneğin:

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

Sonuç:

{ "Meta": { "kod": 200}, "veri": [{ "kullanıcı adı": "zeeshanakhter2009", "biyo": "http://about.me/zeeshanakhter", "web sitesi": "http: //zeeshanakhter.com","profile_picture":"http://images.ak.instagram.com/profiles/profile_202090411_75sq_1377878261.jpg","full_name":"Zeeshan Akhter "," id ":" 202090411 "}]}


1
En kolay yol. Ve bir erişim jetonuna gerek yok! Seviyorum :)
Can Vural


6
Ne yazık ki; bu hatalı :( Bu url'yi yenilerseniz, kullanıcı adı aradığınız kullanıcı adıyla başlayan diğer kullanıcıları rastgele alabileceğinizi keşfettik. Örneğin, "fred1" arıyorsanız, ancak bir "fred123" de var ", rastgele sonuçlar alacaksınız!
İnstagram'a rapor edildi

1
Danny'ye katılıyorum, bu yöntem her zaman işe yaramıyor.
ca

2
Instagram, 1 Haziran 2016 itibarıyla tüm client_id desteğini kaldırdığından beri artık çalışmıyor
Malcolm Box

14

API kullanmak yerine, kimliği almak için Instagram kullanıcı sayfasını inceleyebilirsiniz. PHP'deki örnek kod:

$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"];

Elbette, Instagram sayfa formatını değiştirirse bu kodun uyarlanması gerekir.


4
API'yi kullanmamak kötü bir fikir gibi görünüyor
472084

2
Thinh Vu'nun cevabında ?__a=1belirtildiği gibi, window._sharedDatanesnede sadece JSON almak için ekleme yapabilirsiniz , böylece benzer bir şey yapabilirsiniz curl https://www.instagram.com/username/?__a=1|jq -r .user.id.
nisetama

7

Şu anda kullanıcı adından kullanıcı kimliğini almak için doğrudan Instagram API'si bulunmamaktadır. GET / users / search API'yi çağırmanız ve ardından sonuçları yinelemeniz ve usernamealan değerinin kullanıcı adınıza eşit olup olmadığını kontrol etmeniz gerekir, ardından id.


6

Bu aracı, kullanıcı adına göre Instagram Kimliklerini almak için yazdım: Instagram Kullanıcı Kimliği Arama .

API'ye erişmek için python-instagram kitaplığını kullanır ve Instagram API'nin çeşitli uygulamalarını gösteren kaynak koduna (Django'da yazılmış) bir bağlantı içerir .

Güncelleme : Ruby on Rails'e bağlantı noktası için kaynak kodu eklendi .


4
Instagram kimliklerini kullanıcı adı bağlantısına göre alma aracı çalışmıyor. Lütfen güncelleyin.
Nishant Nawarkhede

@JaydeepJadav bir "lütfen" kadar değil mi? Kaynak kodu GitHub'dadır - bir çekme isteği açabilirsiniz.
zeantsoi

6

Ekim-14-2018 itibariyle erişim belirteci olmadan çalışan çözüm :

Kullanıcı adını arayın:

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

Misal:

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

Bu bir arama sorgusudur. Yanıttaki tam eşleşen girişi bulun ve girişten kullanıcı kimliğini alın.


kısa ve en iyi cevap ancak kullanıcı adı bulunamazsa ilgili sonuçları gösterecektir.
sanjeet bisht

peki ya hız sınırlaması?
Arnav Singh

5

Yukarıda belirtilen tüm çözümleri denedim ve hiçbiri işe yaramadı. Sanırım Instagram değişikliklerini hızlandırdı. Bununla birlikte, tarayıcı konsolu yöntemini denedim ve biraz oynadım ve bana kullanıcı kimliğini veren bu komutu buldum.

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

Sadece bir profilin sayfasını ziyaret edin ve bu komutu konsola girin. Yine de bunun çalışması için sayfayı yenilemeniz gerekebilir. (Düşük itibarım nedeniyle bunu bir cevap olarak göndermek zorunda kaldım)


4

Sen kullanmak gerekir Instagrams APIsizin dönüştürmek usernameTo id.

Doğru hatırlıyorsam users/search, kullanıcı adını bulmak ve oradan kimliği almak için kullanıyorsun


Bunu yapan yöntemi bana söyleyebilir misin?
Muhammad Reda

ne yapar? arama API isteği tarafından gerçekleştirilir users/search, ardından alırsınız idve
dilediğiniz

4
Ne yazık ki; bu hatalı :( Bu url'yi yenilerseniz, kullanıcı adı aradığınız kullanıcı adıyla başlayan diğer kullanıcıları rastgele alabileceğinizi keşfettik. Örneğin, "fred1" arıyorsanız, ancak bir "fred123" de var ", rastgele sonuçlar alacaksınız!
İnstagram'a rapor edildi

kullanıcı adını aşağıdaki bağlantıdaki gerçek kullanıcı adıyla değiştirin api.instagram.com/v1/users/…
Chhatrapati Sharma

3

kimliğinizi almak için Instagram API users/self/feeduç noktasına kimliği doğrulanmış bir istekte bulunun . yanıt, diğer verilerin yanı sıra kullanıcı adını ve kullanıcının kimliğini içerecektir.



2

API konsoluna gidin ve https://api.instagram.com/v1/users/self metin alanındaki bağlantıyı kopyalayın ve instagram kimliğinizi ve şifrenizi kullanarak doğrulayın, yanıt olarak kimliğinizi alacaksınız


2

Bu apigee.com aracılığıyla Instagram API erişimini yapılabilir burada Instagram geliştirici sitesinde. Giriş yaptıktan sonra, "/ users / search" API çağrısına tıklayın. Oradan herhangi bir kullanıcı adını arayabilir ve kimliğini alabilirsiniz.

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


Zaten bir erişim kodunuz varsa, şu şekilde de yapılabilir: https://api.instagram.com/v1/users/search?q=USERNAME&access_token=ACCESS_TOKEN


3
Ne yazık ki; kullananlar / arama bu hatalı :( Bu url'yi yenilerken oturursanız, kullanıcı adı aradığınız kullanıcı adıyla başlayan diğer kullanıcıları rastgele alabileceğinizi keşfettik. Örneğin, "fred1" arıyorsanız, ancak ayrıca bir "fred123", rastgele sonuçlar alacaksınız!
İnstagram'a rapor edildi

2
Bu bir kusur değil - aslında bir işlevsellik. Bu bir arama api'sidir, yani instagram uygulamasındaki arama kutusu gibi çalışır. Bir kullanıcı adı için bir kullanıcı kimliği almanın uygun yolu, bu arama uç noktasını sorgulamak ve daha sonra, döndürülen nesneler üzerinde yinelemek ve tam bir kullanıcı adı eşleşmesini kontrol etmektir.
John Dorian

1
Her ikisine de oy verildi, ancak API geliştiricileri olarak bundan kaçınmak için bir kullanıcı arama uç noktası oluşturmayı kabul edebiliriz, yalnızca bir arama sunmak gerçekten sinir bozucu
sricks


2

Artık API belge sayfasında listelenmemiş olsa da , uç nokta yerine kullanabileceğinizden bahseden bir iş parçacığı buldum ve şu anda kimliği doğrulanmış kullanıcının bilgilerini döndürecek.selfuser-idusers/{user-id}

Bu nedenle, users/selfaçık bir çağrı ile aynıdır users/{some-user-id}ve yükün bir parçası olarak kullanıcının kimliğini içerir. Kimlik doğrulandıktan sonra, sadece bir arama yapın users/selfve sonuç şu anda kimliği doğrulanmış kullanıcının kimliğini içerecektir, örneğin:

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

2

Örtük Kimlik Doğrulaması kullanıyorsanız, bulamama sorunu yaşamalısınız. user_id

Örneğin bir yol buldum:

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

ile ayrılmış bir split single yapar mısın? erişim belirtecine ve ilk öğeye sahip olmak


2

Bence en iyi, en basit ve en güvenli yöntem instagram profilinizi bir tarayıcıda açmak , kaynak kodunu görüntülemek ve ana javascript kodu içinde kullanıcı değişkenini (ctrl + f "kullanıcı": {" ) aramaktır. Kullanıcı değişkeninin içindeki kimlik numarası olmalıdır kimliğin ol.

Bu, bu cevabı yazarken nasıl göründüğü koddur (olabilir ve muhtemelen gelecekte değişecektir):

"user":{"username":"...","profile_picture":"...","id":"..........","full_name":"..."}},

2

Kullanıcı kimliğinizi bir kullanıcı adından nasıl alacağınız aşağıda açıklanmıştır:

$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;

2

Bunu Instagram API kullanarak yapabilirsiniz (Kullanıcı Uç Noktaları: / kullanıcılar / arama)

php'de nasıl yapılır:

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);

3
Ne yazık ki; kullananlar / arama bu hatalı :( Bu url'yi yenilerken oturursanız, kullanıcı adı aradığınız kullanıcı adıyla başlayan diğer kullanıcıları rastgele alabileceğinizi keşfettik. Örneğin, "fred1" arıyorsanız, ancak ayrıca bir "fred123", rastgele sonuçlar alacaksınız!
İnstagram'a rapor edildi

2

İşte benim için iyi çalışan gerçekten kolay bir web sitesi:

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

Veya 'kullanıcı adı'nı Instagram kullanıcı adınızla değiştirerek aşağıdakileri yapabilirsiniz.

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

Veya Instagram hesabınıza giriş yapıp google geliştirme araçlarını kullanabilir ve depolanan çerezlere bakabilirsiniz. 'ds_user_id' kullanıcı kimliğinizdir

görüntü açıklamasını buraya girin


Bu bağlantı soruyu yanıtlasa da, cevabın temel kısımlarını buraya eklemek ve referans için bağlantıyı sağlamak daha iyidir. Bağlantılı sayfa değişirse yalnızca bağlantı yanıtları geçersiz hale gelebilir. - Yorumdan
Bugs

@Bugs Daha detaylı bir cevap ekledim. Stackoverflow topluluğuna katkıda bulunmaya çalışıyorum.
BenEgan1991

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

Lütfen tırnak işaretlerine dikkat edin.

Bu her zaman geçerli bir sonuç döndürmez, ancak alıntı yapılmamış olandan daha sık olarak:

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

kullanıcı "kendini" döndürür (id: 311176867)

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

"super_selfie" kullanıcısını döndürür (id: 1422944651)


1

Çalışma çözümü ~ 2018

Erişim belirteciniz olması koşuluyla tarayıcınızda aşağıdaki isteği gerçekleştirebileceğinizi buldum:

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

Aslında erişim jetonu, Kullanıcı Kimliğini (jetonun ilk bölümü) içerir:

<user-id>.1677aaa.aaa042540a2345d29d11110545e2499

Pixel Union tarafından sağlanan bu aracı kullanarak bir erişim jetonu edinebilirsiniz .


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.