ccc

Mostrando entradas con la etiqueta API Instagram. Mostrar todas las entradas
Mostrando entradas con la etiqueta API Instagram. Mostrar todas las entradas

Como conseguir un Access Token de Instagram

Tienes que enlazar el developers de tu Facebook con el de tu Instagram:

https://docs.oceanwp.org/article/487-how-to-get-instagram-access-token

Teniendo ya una access token podemos obtener el Id del usuario en Instagram y su username:
https://graph.instagram.com/me?fields=id,username&access_token=IGQVJXOGlLTXXXXX
Obtener todos los post publicados:
https://graph.instagram.com/me/media?fields=id,caption,media_type,media_url,username,timestamp&access_token=IGQVJXOGlLTXXXX
A partir del id del post obtener la foto y demás campos:
https://graph.instagram.com/17968599999937219?fields=id,media_type,media_url,username,timestamp&access_token=IGQVJXOGlLZXXXX
Más información en: https://developers.facebook.com/docs/instagram-basic-display-api/getting-started

Ejemplo general:
$json  = file_get_contents("https://graph.instagram.com/me?fields=id,username,media_count&access_token=".IG_ACCESS_TOKEN);
$arr = json_decode($json);
echo "<br>ID: ".$arr->id;
echo "<br>Username: ".$arr->username;
echo "<br>media_count: ".$arr->media_count;
echo "<hr>";
$json = file_get_contents("https://graph.instagram.com/me/media?fields=id,caption,media_type,media_url,username,timestamp,permalink&access_token=".IG_ACCESS_TOKEN);
$arr = json_decode($json);

foreach ($arr->data as $clave=>$valor) {
echo("<br><b>id:</b> ".$arr->data[$clave]->id);
echo("<br><b>caption:</b> ".$arr->data[$clave]->caption);
echo("<br><b>media_type:</b> ".$arr->data[$clave]->media_type);
echo("<br><b>media_url:</b> ".$arr->data[$clave]->media_url);
echo("<br><b>username:</b> ".$arr->data[$clave]->username);
echo("<br><b>timestamp: </b>".$arr->data[$clave]->timestamp);
echo("<br><b>permalink: </b>".$arr->data[$clave]->permalink);
echo "<hr>";

}

// comentarios
// Id de un Post: 18016037245432610
// Esto solo funciona para las cuentas empresariales de Instagram
$jpon = file_get_contents("https://graph.facebook.com/v15.0/18016037245432610?fields=timestamp&access_token=".IG_ACCESS_TOKEN);

API Instagram: Varios

Para conseguir tu User ID: https://commentpicker.com/instagram-user-id.php

Entrar en https://developers.facebook.com/tools/explorer/{{APP_ID}}/
Obtener comentarios de los post:
Identificación de usuario: Permisos:
https://developers.facebook.com/docs/instagram-api/reference/ig-comment/

Marcar los permisos de:
instagram_basic
pages_read_engagement
pages_show_list

API Instagram: Varios

Obtener todas las fotos publicadas:
$url = 'https://api.instagram.com/v1/users/self/media/recent/?access_token=xxxx';
Obtener tu propia información:
$url = 'https://api.instagram.com/v1/users/self/?access_token=xxx';
Obtener la foto de perfil de un usuario a partir de su username:
$url = 'https://www.instagram.com/eldespotricadorcinefilo/?__a=1';

API Instagram: Obtener comentarios a las fotos

// 2045xxxx47571864970_10445651699 es el id de la foto

$url = 'https://api.instagram.com/v1/media/2045xxxx47571864970_10445651699/comments?access_token=104xxxx1699.1677ed0.05fd86ae05984a7e97a1152101d57288';
$api_response = file_get_contents($url);
$record = json_decode($api_response);
print_r($record);

API Instagram: Obtener número de seguidores, publicaciones y seguidos de tu canal

$url = 'https://api.instagram.com/v1/users/104xxxx1699?access_token=104xxxx1699.1677ed0.05fd86ae05984a7e97a1152101d57288';
$api_response = file_get_contents($url);
$record = json_decode($api_response);
print_r($record);

API Instagram

a) Conseguir el Access Token aquí:
http://instagram.pixelunion.net

b) Conseguir el UserId de tu cuenta de Instagram aquí:
https://codeofaninja.com/tools/find-instagram-user-id

crear el fichero instagram.php:
// Limite de post a mostrar, si no se indica se muestran 4 por default
$limit = 8;
function getTodo($limit = 4){
    $user_id       = '104xxxx1699';
    $access_token  = '104xxxx1699.1677ed0.05fd86ae05984a7e97a1152101d57288';
    $item_resource = 'userid';
    $hashtag       = '';
    $limit         = $limit;

    if (!$user_id || !$access_token) {
        echo '<p class="alert alert-warning">NO HAY INFORMACIÓN COMPLETA</p>';
        return;
    }

    if( $item_resource == 'hashtag' && $hashtag) {
        $api = "https://api.instagram.com/v1/tags/".$hashtag."/media/recent/?access_token=".$access_token."&count=". $limit;
    } else {
        $api = "https://api.instagram.com/v1/users/".$user_id."/media/recent/?access_token=".$access_token."&count=". $limit;
    }

    if( ini_get('allow_url_fopen') ) {
        $images = file_get_contents($api);
        file_put_contents($cache_file, $images, LOCK_EX);
    } else {
        $images = curl($api);
    }

    $json = json_decode($images);
    if(isset($json->data)) {
        return $json->data;
    }
    return array();
}

function curl($url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    $data = curl_exec($ch);
    curl_close($ch);
    return $data;
}​

fichero index.php:
include_once "instagram.php";
$items = getTodo($limit);
foreach($items as $clave=>$valor) {
print_r($valor);
}

Más información en: https://www.javimata.com/blog/usar-la-api-de-instagram-con-php