인스타그램 연동 > php

본문 바로가기

php

인스타그램 연동

작성일 19-01-15 21:44

페이지 정보

작성자서방님 조회 560회 댓글 0건

본문

인스타그램 연동과 관련하여 많은 소스들이 있다.
웹호스팅을 이용할 경우, 특정 권한 문제들 때문에 사용이 어려운 경우도 많다.
아래 소스의 경우 파싱을 통해 인스타그램을 연동한다.
웹호스팅에서도 문제없이 작동하는 것을 확인하였다.
<?php

function getFromUrlSearch($url, $method = 'GET')
{
    // Initialize
    $info   = parse_url($url);
    $req    = '';
    $data   = '';
    $line   = '';
    $agent  = 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0)';
    $linebreak  = "\r\n";
    $headPassed = false;

    // Setting Protocol
    switch($info['scheme'] = strtoupper($info['scheme']))
    {
        case 'HTTP':
            $info['port']   = 80;
            break;

        case 'HTTPS':
            $info['ssl']    = 'ssl://';
            $info['port']   = 443;
            break;

        default:
            return false;
    }

    // Setting Path
    if(!$info['path'])
    {
        $info['path'] = '/';
    }

    // Setting Request Header
    switch($method = strtoupper($method))
    {
        case 'GET':
            if($info['query'])
            {
                $info['path'] .= '?' . $info['query'];
            }

            $req .= 'GET ' . $info['path'] . ' HTTP/1.1' . $linebreak;
            $req .= 'Host: ' . $info['host'] . $linebreak;
            $req .= 'User-Agent: ' . $agent . $linebreak;
            $req .= 'Referer: ' . $url . $linebreak;
            $req .= 'Connection: Close' . $linebreak . $linebreak;
            break;

        case 'POST':
            $req .= 'POST ' . $info['path'] . ' HTTP/1.1' . $linebreak;
            $req .= 'Host: ' . $info['host'] . $linebreak;
            $req .= 'User-Agent: ' . $agent . $linebreak;
            $req .= 'Referer: ' . $url . $linebreak;
            $req .= 'Content-Type: application/x-www-form-urlencoded'.$linebreak;
            $req .= 'Content-Length: '. strlen($info['query']) . $linebreak;
            $req .= 'Connection: Close' . $linebreak . $linebreak;
            $req .= $info['query'];
            break;
    }

    // Socket Open
    $fsock  = @fsockopen($info['ssl'] . $info['host'], $info['port']);
    if ($fsock)
    {
        fwrite($fsock, $req);
        while(!feof($fsock))
        {
            $line = fgets($fsock, 128);
            if($line == "\r\n" && !$headPassed)
            {
                $headPassed = true;
                continue;
            }
            if($headPassed)
            {
                $data .= $line;
            }
        }
        fclose($fsock);
    }

    return $data;
}



$client_id = "abcde*************"; // 클라이언트 ID
$access_token = "12345*************"; // 액세스 토큰

$url = "https://api.instagram.com/v1/users/self/media/recent?client_id=".$client_id."&access_token=".$access_token."&count=10";


$_source = getFromUrlSearch($url);

$_data = json_decode($_source);
$json = $_data->data;

foreach ($json as $data) {
    echo "<div style=\"float:left;margin:5px;\"><a href=\"".$data->link."\" target=\"_blank\"><img src=\"".$data->images->thumbnail->url."\" class=\"image-style1 respond-img\"></a></div>";
}

?>

댓글목록

등록된 댓글이 없습니다.

전체 4건 1 페이지
게시물 검색
Copyright © 서방님.kr All rights reserved.
PC 버전으로 보기