2013-01-19 25 views
5
$url = 'https://api.instagram.com/v1/users/XXXX?access_token=XXXX'; 
echo json_decode(file_get_contents($url))->{'followed_by'}; 

Sto usando questo codice e non capisco qual è il problema. Sono nuovo di PHP quindi scusate l'errore newbie. Sto cercando di visualizzare "follow_by" da solo. Sono riuscito a far apparire i "mi piace" di Facebook e i follower di Twitter in questo modo.Ottenere le informazioni di base da Instagram usando PHP

risposta

2

Secondo lo Instagram API Docs, followed_by è un figlio di counts che è un figlio di data.

https://api.instagram.com/v1/users/1574083/?access_token=ACCESS-TOKEN 

Returns:

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

il seguente dovrebbe quindi funzionare.

<?php 
$url = 'https://api.instagram.com/v1/users/XXXX?access_token=XXXX'; 
$api_response = file_get_contents($url); 
$record = json_decode($api_response); 
echo $record->data->counts->followed_by; 

// if nothing is echoed try 
echo '<pre>' . print_r($api_response, true) . '</pre>'; 
echo '<pre>' . print_r($record, true) . '</pre>'; 
// to see what is in the $api_response and $record object 
+0

Ho appena provato il codice che hai fornito ma non funziona (ho provato entrambi gli echo da solo). Mi sono persino assicurato che il mio api.instagram.com/xxx sia valido e lo sia. –

+0

@NazarAbubaker - Sei sicuro che il tuo access_token sia corretto - come lo stai generando? Prova il codice modificato sopra e facci sapere cosa viene effettivamente restituito dall'API. – PassKit

+0

Ho usato questo per generare l'access_token [link] http://jelled.com/instagram/access-token [/ link]. Tratto da [collegamento] http://stackoverflow.com/questions/12677551/how-to-get-access-token-from-instagram-token-using-jquery-or-php [/ link] Tutto ciò che ottengo è "Avviso: file_get_contents() [function.file-get-contents]: impossibile trovare il wrapper " https " - hai dimenticato di abilitarlo quando hai configurato PHP? In XXX sulla riga 36" –

1

Prova questo ..

<?php 
$instagram = "https://api.instagram.com/v1/users/xxxxx/?access_token=xxxxx"; 
$instagram_follows = json_decode(file_get_contents($instagram))->data->counts->followed_by; 
echo $instagram_follows; 
?> 
0

provare questo ...

$url = 'https://api.instagram.com/v1/users/USER_ID?access_token=YOUR_TOKEN'; 
$api_response = file_get_contents($url); 
$record = json_decode($api_response); 

echo $followed_by = $record->data->counts->followed_by; 

Click per ottenere tutte le informazioni di utente

1
function get_https_content($url=NULL,$method="GET"){ 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
    curl_setopt($ch, CURLOPT_VERBOSE, true); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0'); 
    curl_setopt($ch, CURLOPT_URL,$url); 
    return curl_exec($ch); 
} 

function ig_count($username) { 
    return json_decode(get_https_content("https://api.instagram.com/v1/users/1460891826/?client_id=ea69458ef6a34f13949b99e84d79ccf2"))->data->counts->followed_by; 
} 

Ecco il mio codice:)

14

Nel caso in cui avete bisogno di afferrare conteggio seguace (o altri campi) senza effettuare il login, Instagram è abbastanza bello da metterli in JSON all'interno della sorgente della pagina:

$raw = file_get_contents('https://www.instagram.com/USERNAME'); //replace with user 
preg_match('/\"followed_by\"\:\s?\{\"count\"\:\s?([0-9]+)/',$raw,$m); 
print intval($m[1]); 

//returns "123" 

Speranza che aiuta.

24 maggio 2016 Aggiornato per essere più tollerante degli spazi in JSON.

+0

ha funzionato per me. –

+0

Ancora funziona per me - Marzo 2017 :-D – michaelmcgurk

+1

Dopo ** ore ** cercando di implementare questo utilizzando l'API di Instagram, ho finito per utilizzare questa soluzione. **Grazie**. Peggiore progettazione e documentazione API che non ho mai visto. Devi anche inviare un _screencast_ che spiega cosa vuoi fare con l'API per uscire dalla modalità sandbox. Voglio solo far contare i follower per ogni utente dato, che è comunque informazione pubblica. È una follia. – Marc

Problemi correlati