2016-03-28

(instagram api) access token 값 얻기 php경우

descript )

  인스타 그램 api 를 이용하기위해서는 application 등록 이후 받아지는 client id, secret key 이외에access_token 값이 필요합니다.


solution )

  1. 아래 주소로 접속하면 보이는 "register your application" 을 선택합니다.

  https://www.instagram.com/developer/

  


  2. 나타나는 폼에서 모든 항목을 기입합니다.

  privacy policy url : 사이트 운영정책이 있는 페이지

  Valid redirect URIs : 사용할 사이트에서 access token 을 얻는 작업을 할 주소입니다.
  작업을 할 페이지의 주소와 경로를 정확히 적습니다. 


  ex ) http://{API_사용할_도메인}/{경로}/{파일명}  

  나머지는 모두 적절히 작성후 REGISTER 을 누릅니다.

 


  3. ACCESS TOKEN 얻기위한 "Valid redirect URIs" 파일 작성

  Valid redirect URIs 에 적은 위치에 파일을 작성합니다.

  아래코드중 client_id, client_secret 은 2단계이후 생성되는 값을 사용합니다.  
  아래 주소로 접속하면 확인 가능합니다.
  https://www.instagram.com/developer/clients/manage/

  code ) http://{API_사용할_도메인}/{경로}/{파일명} 의 소스

  <?php
  $curl = curl_init("https://api.instagram.com/oauth/access_token");    
  curl_setopt($curl,CURLOPT_POST,true); 
  curl_setopt($curl,CURLOPT_POSTFIELDS,array(
          'client_id'                =>     '{client_id}',
          'client_secret'            =>     '{client_secret}',
          'grant_type'               =>     'authorization_code',
          'redirect_uri'             =>     'http://reshoevn8rkorea.com/instagram_callback.php',
          'code'                     =>     $_GET['code']
  )); 
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);  
  curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
  $result = curl_exec($curl);
  curl_close($curl);

  $result = json_decode($result,true);
  
  print_r( $result );
  exit();
  ?>


  4. access token 을 얻기위해서 위파일을 직접 실행하는게 아닙니다. 아래 와 같이 주소를 만들어 호출하시면 됩니다.

  https://api.instagram.com/oauth/authorize/?client_id={CLIENT ID}&redirect_uri={Valid redirect URIs}&response_type=code&scope=public_content

  https://api.instagram.com/oauth/authorize/?client_id=2771942b2b8844dc808dd18db764adb7&redirect_uri= http://{API_사용할_도메인}/{경로}/{파일명} &response_type=code&scope=public_content

  위 주소로 요청을하면 인스타그램 사이트에서 다시 작성한 Valid redirect URIs 로 넘어오며 아래와 같이 결과를 확인할수 있습니다.

  

  get 으로 넘어가는 파라메터중 scope 는 얼마전부터 추가된 것으로 보이며 사용할 항목에따라 다릅니다. 내용은 아래 주소로 들어가보면 사용하는 것에따라 필요한 scope 가 있습니다.
  https://www.instagram.com/developer/endpoints/likes/

No comments:

Post a Comment

php Fatal error: Class 'DOMDocument'