ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 라라벨에서 TMDB api 사용하기 (1)
    Laravel/TMDB api를 이용한 영화 사이트 만들기 2020. 4. 3. 16:06
    728x90

    api키를 받을 받은것을 가정하고 (내블로그에 있다 까먹지말자)

    API 키 (v3 인증)
    API 읽기 액세스 토큰 (v4 인증)

    정확한건 아니고 내가 그냥 이해한걸 적는다.

    TMDB 홈페이지에서 2가지 api 인증방법으로 키를 발급해주는데

     

    1. v3 인증은 url에 api='' 블라블라 이런식으로 리퀘스트 보내서 json 으로 리스폰 전달 받는것같고

    2. api키를 토큰형식으로 http 통신으로 숨겨서 리퀘스트 보내서 json으로 리스폰 전달 받는것 같다.

     

    자세히 모르겠음.

    어쨋든 2번 방식으로 api키 토큰 인증형식으로 api json 결과값을 받아보자!

    [1]

    먼저 컨트롤러가 있다는 가정하에 web.php에서

    a.php 라는 컨트롤러를 호출함과 동시에 index() 함수를 실행시킨다.

     

    public fuction index()

    {

      $test = Http::get('https://api.themoviedb.org/3/movie/popular')->json();

      dd($test);

    }

    컨트롤러에 저렇게 작성하고 주의해야되는게

    위에 use Illuminate\Support\Facades\Http;

    이거를 추가해줘야한다. Http 클래스를 사용하겠다 뭐 그런거

    이렇게 했을때 index 컨트롤러가 호출하는 웹에 가보면 

    이렇게 나오면 curl을 통한 http통신이 성공한거다.

    다음으로 api키를 토큰형식으로 보내서 영화 리스트를 쫘라락 가져와보자

     

    [2]

    public function index()
    {
    $popularMovies = Http::withToken(config('services.tmdb.token'))
    ->get('https://api.themoviedb.org/3/movie/popular')
    ->json();
    dd($popularMovies);

    return view('index');
    }

     

    withToken이라는걸로 토큰을 보내겠다 뭐 그런것 같고 config는 말그대로 설정 

    경로 config/services.php에서 tmdb의 token값을 가져오겠다 그런말이다.

    여기서 재밋는점 : dd() 이게 Illuminate\Support의 내장함수다!!! 신기하다 ㅋㅋㅋㅋ

    [3]

    config/services.php

    'tmdb' => [
    'token' => env('TMDB_TOKEN'),
    ],

    이거 만들어주고 다음으로 .env파일에 진짜 api키를 넣으면 된다

    [4]

    .env

    TMDB_TOKEN='api읽기액세스토큰 v4인증'

    그러고 확인하면 성공!!!

     

    728x90
Designed by Tistory.