Sto incorporando il mio feed di immagini nel mio sito Web utilizzando JSON, l'URL richiede il mio ID utente per poter recuperare questo feed.
Quindi, dove posso trovare / ottenere il mio ID utente?
Sto incorporando il mio feed di immagini nel mio sito Web utilizzando JSON, l'URL richiede il mio ID utente per poter recuperare questo feed.
Quindi, dove posso trovare / ottenere il mio ID utente?
Risposte:
Risposta molto tardi, ma penso che questa sia la risposta migliore di questo argomento. Spero sia utile.
Puoi ottenere informazioni sull'utente quando viene effettuata una richiesta con l'URL seguente:
https://www.instagram.com/{username}/?__a=1
Per esempio:
Questo URL riceverà tutte le informazioni su un utente il cui nome utente è protetto
https://www.instagram.com/therock/?__a=1
Aggiornamento dell'11 dicembre 2016, ho dovuto confermare che questo endpoint funziona ancora. È necessario effettuare l'accesso prima di inviare la richiesta a questo sito perché non è più un endpoint pubblico. Anche il passaggio di accesso è semplice. Questa è la mia demo: https://youtu.be/ec5QhwM6fvc
Aggiornamento dal 17 aprile al 2018, sembra che questo endpoint funzioni ancora (ma non è più un endpoint pubblico), è necessario inviare una richiesta con ulteriori informazioni a tale endpoint. (Premi F12 per aprire la barra degli strumenti dello sviluppatore, quindi fai clic sulla scheda Rete e traccia la richiesta.)
Scusa perché sono troppo occupato. Spero che questa informazione vi aiuti ragazzi. Hmm, sentiti libero di darmi un voto negativo se vuoi.
Aggiornamento del 12 aprile 2018, cameronjonesweb ha dichiarato che questo endpoint non funziona più. Quando tenta di accedere a questo endpoint, viene restituito il codice di stato 403.
Inserisci questo URL nel tuo browser con il nome utente che desideri trovare e il tuo token di accesso
https://api.instagram.com/v1/users/search?q=[USERNAME]&access_token=[ACCESS TOKEN]
La maggior parte dei metodi è obsoleta da giugno 1/2016 modifiche api
Di seguito ha funzionato per me,
al prompt dei comandi digitare sotto il comando e premere invio:
window._sharedData.entry_data.ProfilePage[0].user.id
Se sei fortunato, al primo tentativo otterrai, in caso contrario, sii paziente, aggiorna la pagina e riprova. continua fino a quando non vedi id utente. In bocca al lupo!!
Ottieni facilmente ID UTENTE e dettagli utente
https://api.instagram.com/v1/users/search?q= [ NOME UTENTE] & client_id = [ID client APP APP]
Per esempio:
https://api.instagram.com/v1/users/search?q=zeeshanakhter2009&client_id=enter_your_id
Risultato:
{ "Meta": { "codice": 200}, "dati": [{ "nome utente": "zeeshanakhter2009", "bio": "http://about.me/zeeshanakhter", "sito web": "http: //zeeshanakhter.com","profile_picture":"http://images.ak.instagram.com/profiles/profile_202090411_75sq_1377878261.jpg","full_name":"Zeeshan Akhter "," id ":" 202090411 "}]}
Invece di usare l'API, si può esaminare la pagina utente di Instagram per ottenere l'id. Codice di esempio in 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"];
Naturalmente, questo codice deve essere adattato se Instagram cambia il suo formato di pagina.
?__a=1
per ottenere solo il JSON window._sharedData
nell'oggetto, in modo da poter fare qualcosa di simile curl https://www.instagram.com/username/?__a=1|jq -r .user.id
.
Attualmente non esiste un'API di Instagram diretta per ottenere l'ID utente dal nome utente. Devi chiamare l' API GET / users / search e quindi ripetere i risultati e verificare se il username
valore del campo è uguale al tuo nome utente o meno, quindi prendi il id
.
Ho scritto questo strumento per recuperare gli ID Instagram per nome utente: Ricerca ID utente Instagram .
Utilizza la libreria python-instagram per accedere all'API e include un collegamento al codice sorgente (scritto su Django), che illustra varie implementazioni dell'API di Instagram.
Aggiornamento : aggiunto il codice sorgente per la porta a Ruby on Rails .
Ho provato tutte le soluzioni di cui sopra e nessuna funziona. Immagino che Instagram abbia accelerato i loro cambiamenti. Ho provato, tuttavia, il metodo della console del browser e ho giocato un po 'e ho trovato questo comando che mi ha dato l'ID utente.
window._sharedData.entry_data.ProfilePage[0].graphql.user.id
Basta visitare la pagina di un profilo e immettere questo comando nella console. Tuttavia, potrebbe essere necessario aggiornare la pagina per farlo funzionare. (Ho dovuto pubblicare questo come risposta, a causa della mia scarsa reputazione)
Soluzione funzionante senza token di accesso dal 14 al 14 ottobre 2018:
Cerca il nome utente:
https://www.instagram.com/web/search/topsearch/?query=<username>
Esempio:
https://www.instagram.com/web/search/topsearch/?query=therock
Questa è una query di ricerca. Trova la voce corrispondente esatta nella risposta e ottieni l'ID utente dalla voce.
È necessario utilizzare Instagrams API
per convertire il vostro username
a id
.
Se ricordo bene che usi users/search
per trovare il nome utente e ottenere l'id da lì
users/search
, quindi ottieni la id
e la usi in qualunque cosa
per ottenere il tuo ID, fai una richiesta autenticata users/self/feed
all'endpoint dell'API di Instagram . la risposta conterrà, tra gli altri dati, il nome utente e l'id dell'utente.
La maggior parte di queste risposte non sono valide dopo le modifiche all'API Instagram del 6/1/2016 . La migliore soluzione ora è qui . Vai al tuo feed su instagram.com, copia l'indirizzo del link per qualsiasi tua foto e incollalo nella casella di testo in quella pagina. Ha funzionato come un fascino.
Vai alla console API e copia il collegamento https://api.instagram.com/v1/users/self
nel campo di testo e esegui l'autenticazione utilizzando il tuo ID e password instagram, otterrai il tuo ID in risposta
Questo può essere fatto tramite l'accesso API Instagram di apigee.com qui sul sito degli sviluppatori di Instagram. Dopo aver effettuato l'accesso, fai clic sulla chiamata API "/ users / search". Da lì puoi cercare qualsiasi nome utente e recuperare il suo 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"
}]}
Se hai già un codice di accesso, puoi farlo anche in questo modo:
https://api.instagram.com/v1/users/search?q=USERNAME&access_token=ACCESS_TOKEN
Bene, puoi semplicemente chiamare questo link
http://jelled.com/ajax/instagram?do=username&username=[USER_NAME_GOES_HERE]&format=json
Anche se non è elencato nella pagina API doc più, ho trovato un filo che menziona il fatto che è possibile utilizzare self
al posto di user-id
per lausers/{user-id}
punto finale e che restituisca informazioni dell'utente attualmente autenticato.
Quindi, users/self
è uguale a una chiamata esplicita a users/{some-user-id}
e contiene l'ID dell'utente come parte del payload. Una volta autenticato, effettua una chiamata users/self
e il risultato includerà l'ID dell'utente attualmente autenticato, in questo modo:
{
"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
}
}
Se stai utilizzando l'autenticazione implicita, devi avere il problema di non riuscire a trovare user_id
Ho trovato un modo per esempio:
Access Token = 1506417331.18b98f6.8a00c0d293624ded801d5c723a25d3ec
the User id is 1506417331
faresti uno split singolo separato da. obtenies to access token e il primo elemento
Penso che il metodo migliore, più semplice e più sicuro sia quello di aprire il tuo profilo Instagram in un browser, visualizzare il codice sorgente e cercare la variabile utente (ctrl + f "utente": {" ) all'interno del codice javascript principale. Il numero ID all'interno della variabile utente dovrebbe sii il tuo id.
Questo è il codice che aspetto aveva nel momento in cui scrivevo questa risposta (può, e probabilmente sarà cambiato in futuro):
"user":{"username":"...","profile_picture":"...","id":"..........","full_name":"..."}},
Ecco come è possibile recuperare l'ID utente da un nome utente:
$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;
Puoi farlo usando l' API di Instagram (Endpoint utente: / utenti / ricerca)
come fare in 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);
Ecco un sito web davvero semplice che funziona bene per me:
Oppure puoi fare quanto segue sostituendo "nome utente" con il tuo nome utente Instagram
https://www.instagram.com/username/?__a=1
Oppure puoi accedere al tuo account Instagram e utilizzare gli strumenti di sviluppo di Google e guardare i cookie che sono stati memorizzati. 'ds_user_id' è il tuo ID utente
https://api.instagram.com/v1/users/search?q="[USERNAME]"&access_token=[ACCESS TOKEN]
Si prega di notare le virgolette.
Questo non restituisce sempre un risultato valido ma più spesso di uno non quotato:
https://api.instagram.com/v1/users/search?q="self"&count=1&access_token=[ACCESS TOKEN]
restituisce l'utente "self" (ID: 311176867)
https://api.instagram.com/v1/users/search?q=self&count=1&access_token=[ACCESS TOKEN]
restituisce l'utente "super_selfie" (ID: 1422944651)
Soluzione di lavoro ~ 2018
Ho scoperto che, fornendo un token di accesso, è possibile eseguire la seguente richiesta nel browser:
https://api.instagram.com/v1/users/self?access_token=[VALUE]
Infatti, il token di accesso contiene l' ID utente (il primo segmento del token):
<user-id>.1677aaa.aaa042540a2345d29d11110545e2499
Puoi ottenere un token di accesso utilizzando questo strumento fornito da Pixel Union .
Innanzitutto, crea un'applicazione su Instagram e ottieni l'ID client per la tua applicazione
http://instagram.com/developer/
Ora basta copiare incolla seguendo Url nella finestra del browser sostituendo il nome utente e l'ID client https://api.instagram.com/v1/users/search?q=[Your-username =[ ]
otterrai un risultato Json contenente informazioni generali sul tuo account insieme al tuo ID utente numerico