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?
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?
Yanıtlar:
Ç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
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.
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]
Yöntemlerin çoğu, 1/2016 api değişikliklerinden bu yana kullanılmıyor
Aşağıda benim için çalıştı
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!!
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 "}]}
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.
?__a=1
belirtildiği gibi, window._sharedData
nesnede 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
.
Ş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 username
alan değerinin kullanıcı adınıza eşit olup olmadığını kontrol etmeniz gerekir, ardından id
.
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 .
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.
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)
Sen kullanmak gerekir Instagrams API
sizin dönüştürmek username
To id
.
Doğru hatırlıyorsam users/search
, kullanıcı adını bulmak ve oradan kimliği almak için kullanıyorsun
users/search
, ardından alırsınız id
ve
kimliğinizi almak için Instagram API users/self/feed
uç 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.
1/6/2016 Instagram API değişikliklerinden sonra bu cevapların çoğu geçersizdir . Şimdi en iyi çözüm burada . İnstagram.com'daki beslemenize gidin, resimlerinizden herhangi birinin bağlantı adresini kopyalayın ve o sayfadaki metin kutusuna yapıştırın. Tılsım gibi çalıştı.
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
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
Peki bu bağlantıyı arayabilirsin
http://jelled.com/ajax/instagram?do=username&username=[USER_NAME_GOES_HERE]&format=json
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.self
user-id
users/{user-id}
Bu nedenle, users/self
açı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/self
ve 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
}
}
Ö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
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":"..."}},
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;
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);
İşte benim için iyi çalışan gerçekten kolay bir web sitesi:
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
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)
Ç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 .
Önce Instagram'da bir Uygulama Oluşturun ve uygulamanız için İstemci Kimliği alın
http://instagram.com/developer/
Şimdi, Kullanıcı Adınızı ve Müşteri Kimliğinizi değiştirerek URL'yi takip eden URL'yi tarayıcı penceresine kopyalayıp yapıştırın. https://api.instagram.com/v1/users/search?q=[Kullanıcı-adınız ]&client_id=[ ] '
Sayısal kullanıcı kimliğinizle birlikte hesabınız hakkında Genel Bilgileri içeren bir Json Sonucu alacaksınız