【问题标题】:How to display front end data from TMDB using api如何使用 api 从 TMDB 显示前端数据
【发布时间】:2020-01-08 10:58:32
【问题描述】:

我正在将 laravel 6 用于一个大学项目,我需要在其中显示来自 TMDB 的信息,以用于我正在创建的媒体评论网站。我对 laravel 很陌生,所以我正在努力让它工作。我在 tmdb 上注册了一个帐户,并且获得了使用该 API 的密钥。到目前为止,我可以使用讲师给我的这段代码调用 google chrome 控制台中的数据,

<script>
https://api.themoviedb.org/3/movie/111?api_key=...&language=en-US
var api_key = '...';
var baseUrl = 'https://api.themoviedb.org/3/';

fetch(baseUrl+'movie/111?api_key='+api_key+'&language=en+US')
.then(response => response.json())
.then(function(data){
  console.log("all data");
  console.log(data);
});
</script>

这会在控制台中显示 id 为 111 的电影。我想知道如何在 laravel 中通过 HTML 和 PHP 显示这些信息。我已经有了可以在自己附加的数据库中创建自己的电影的代码。然而,对于这个项目,我需要在前端显示来自在线数据库的信息。抱歉,如果没有详细解释或者我遗漏了部分内容,我对 stackoverflow 还是很陌生。

【问题讨论】:

    标签: php html laravel api


    【解决方案1】:

    您应该将 http 客户端库添加到您的 Laravel 项目中,例如“guzzle”。

    这里有一篇文章应该详细解释这一点:laravel-6-guzzle-http-client-exampleexample

    Guzzle 文档:guzzle

    然后你可以这样做:

    $client = new \GuzzleHttp\Client();
    $response = $client->request(
        'GET',
        'https://api.themoviedb.org/3/movie/111',
        [
            'query' => [
                'api_key' => 'YOUR_API_KEY',
                'language' => 'en-US'
            ]
        ]
    );
    
    $body = $response->getBody();
    $data = json_decode($body);
    
    print_r($data);
    

    附: 您可能不应该在您的问题中发布 api 密钥。

    【讨论】:

    • 感谢您的帮助和提醒,我一定会调查此事。谢谢!
    猜你喜欢
    • 2019-09-15
    • 1970-01-01
    • 2021-05-03
    • 2020-10-05
    • 1970-01-01
    • 2021-04-01
    • 1970-01-01
    • 2021-01-07
    • 2022-09-26
    相关资源
    最近更新 更多