Tmdb api key как получить
Перейти к содержимому

Tmdb api key как получить

  • автор:

API key for themoviedb.org

I need to use themoviedb.org for one of the apps I am working on. For using the API, I need an API key. How do I get an API key on themoviedb.org?

asked Jun 25, 2015 at 10:31
Arjun Issar Arjun Issar
664 4 4 gold badges 13 13 silver badges 32 32 bronze badges

2 Answers 2

I found this in the forum: You can request an API key by clicking on the «API» link from within your account page on the left hand sidebar. See here

answered Jun 25, 2015 at 10:35
128 6 6 bronze badges
Don’t miss FROM WITHIN YOUR ACCOUNT PAGE in this answer, otherwise nothing will show up.
Nov 24, 2015 at 17:12

In terms of making things faster for people, the URL for application is here these days (Under Account>Settings>API as previously mentioned): https://www.themoviedb.org/settings/api

You’ll want to start with a Developer key as wait time for a Developer key is zero (immediate). A commercial key, as far as I understand it, is only appropriate once the app is developed and running. Turnaround for a commercial API key is about 3 days-ish though obviously could vary.

Once you have a key, inside the doco pages there’s a «Try It Out» tab which lets you do calls. The normal code flow (for getting movie details) would be something like:

  • Get Configuration (needed for image paths, should be cached)
  • Search Movies (returns a list, find the numeric id for the one you want in the list returned). Be aware there might be duplicates returned — you can use the year of release, title and language to find the one you want.
  • Get Movie Details with the movie numeric ID, with «append_to_response» of «credits,images,trailers» so that actors, writers, directors, and trailers (aka videos) are returned.

Check doco for how to find the actual image paths, using configuration values fetched above. It’s generally considered courteous to copy the images you want to use to your own server rather than serving them from TMDB’s server.

Простой поиск фильмов при помощи PHP, jQuery и themoviedb.org API

Как-то раз я случайно наткнулся на бесплатную базу данных фильмов — http://themoviedb.org. Через несколько мгновений обнаружилось, что они предоставляют свой API для разработчиков, который позволяет извлекать данные из их базы.

Тогда и возникла идея для этого урока. Он может быть и не очень полезен российской аудитории разработчиков, но в нём описываются основы работы с API, без навыков работы с которыми никуда…

demosourse

Первое, что нужно сделать, так это получить API ключ с сайта themoviedb.org. Для этого необходимо пройти регистрацию. Это можно сделать тут. Затем нам необходимо скачать специальный класс, который можно найти на GitHub. Он предназначен для работы с их API.

Итак, давайте же начнём. В первую очередь создадим форму поиска:

 

Напишите название фильма


Результат для

Как вы уже могли заметить, я поместил пустой div для последующих результатов. Затем добавим немного jQuery:

$(function() < $(".search_button").click(function() < // получаем то, что написал пользователь var searchString = $("#search_box").val(); // формируем queryString var data = 'title='+ searchString; // если searchString не пустая if(searchString) < // ajax call $.ajax(< type: "POST", url: "ajax_calls.php", data: data, beforeSend: function(html) < // происходит до вызова $("#results").html(''); $("#searchresults").show(); $(".word").html(searchString); >, success: function(html) < // после получения результата $("#results").show(); $("#results").append(html); >>); > return false; >); >);

Этот код чистит div с результатами, посылает AJAX запрос в файл ajax_calls.php. После успешного получения данных от этого файла, вбивает их в блок result.

Вот как выглядит ajax_calls.php

// инклудим, скаченный класс include('tmdb.php'); //если хотим будем использовать 'xml' $tmdb_xml = new TMDb('ВАШ_API_КЛЮЧ', TMDb::XML); //Заголовок $title = $_POST['title']; //Устонавливаем формат по умолчанию $xml_movies_result = $tmdb_xml->searchMovie($title); $xml = simplexml_load_string($xml_movies_result); echo ''; echo ''; echo ''; echo ''; echo ''; foreach ($xml->movies->movie as $movie) < $moviename = $movie->name; $imdbid = $movie->imdb_id; $posterimg = $movie->images->image[3]['url']; echo ''; if (!empty($posterimg)) < echo ''; > else < echo ''; > echo ''; echo ''; > echo '
CoverInfo
url.'">'.$moviename.'No imageurl.'">'.$moviename.' ('.substr($movie->released, 0, 4).')

'; echo $movie->overview; echo '
';

В этом коде нет ничего сложного. Сначала мы подгружаем класс tmdb. После мы посылаем запрос, получаем ответ. Проходимся по каждому фильму, формируя большую таблицу.

Вот так это работает. Спасибо за внимание.

Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: www.codeforest.net/simple-movie-search-using-php-jquery-and-themoviedb-org-api
Перевел: Станислав Протасевич
Урок создан: 28 Февраля 2011
Просмотров: 23968
Правила перепечатки

5 последних уроков рубрики «PHP»

Фильтрация данных с помощью zend-filter

Когда речь идёт о безопасности веб-сайта, то фраза «фильтруйте всё, экранируйте всё» всегда будет актуальна. Сегодня поговорим о фильтрации данных.

Контекстное экранирование с помощью zend-escaper

Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак. В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.

Подключение Zend модулей к Expressive

Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение. В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.

Совет: отправка информации в Google Analytics через API

Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.

Подборка PHP песочниц

Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.

Как получить доступ к Themoviedb?

Themoviedb заблокировал доступ из России. Kodi обновлять всю информацию о фильмах оттуда. Две недели назад получилось обновиться через японский VPN. Сегодня перепробовал около 20 из разных стран и разные провайдеры. Ни с одного не удалось.

Есть плагин кинопоиска, но он большинство фильмов «не видит», поэтому не вариант.

Есть ли еще способы обновить инфо о фильмах из Themoviedb?

Добавлено: коди стоит на голом арчлинуксе без х сервера.

  • Вопрос задан более года назад
  • 14143 просмотра

1 комментарий

Простой 1 комментарий

сходить сюда https://public-dns.info/nameserver/in.html
взять любой днс не из россии и балдеть
просто основные публичные типа 8.8.8.8 и 1.1.1.1 имеют резолвер в россии и получают отлуп который потом и выдают клиентам. а любой местечковый публичный днс лишен такого недостатка.

Решения вопроса 1

Заверните DNS запросы в впн. тогда скорее всего заработает
А ваши бесплатные ВПн вполне реально блочатся, т.к. просто в спам листе каком нить)

Ответ написан более года назад
motcart @motcart Автор вопроса
Помогло, спасибо
Ответы на вопрос 6
hotsizzle23 @hotsizzle23

Универсальный способ обеспечить работу любого медиасервера с TMDB:
Если у Вас роутер выступает в качестве локального DNS-сервера, потребуется сделать 3 статические DNS-записи, указанные ниже, на нём (думаю, что каждый роутер должен давать такую возможность, соответственно как это сделать — загуглите для своей модели роутера).

Если у Вас отдельный DNS-сервер как пакет Synology, AdGuard Home, PiHole или вообще Bind, то я уверен, что Вы знаете как сделать в них статические DNS-записи, поэтому сделайте 3 статические DNS-записи, указанные ниже, в них.

1) api.tmdb.org 54.192.99.23
2) image.tmdb.org 138.199.37.231
3) images.tmdb.org 54.192.99.19

Не требуются VPN и смена DNS-сервера провайдера на какой-либо из выше указанных.
На сайт themoviedb.org Вы не зайдёте, но, я думаю, что Вам это и не нужно.

Работает на 21:33 25.01.2023 и думаю, что будет работать долго, тк перестанет это работать только в случае, если сервис tmdb откажется от использования указанных ip-адресов, а это, как мне кажется, никогда не произойдёт.

Ответ написан 25 янв.
Комментировать
Нравится 2 Комментировать

Не знаю насчёт 20 стран, но нидерланды работают.

1) для работы api в впн заворачивать нужно не только *. themoviedatabase.org, но и *.tmdb.org
2) DNS резолвинг этих доменов также нужно проводить через vpn. Там split horizon настроен, отдающий для заблокированных IP 127.0.0.1. Причем он пробивается и через 1.1.1.1/8.8.8.8. Как реализовано последнее мне и самому любопытно, но факт имеет место быть

Ответ написан более года назад
Нравится 1 1 комментарий
motcart @motcart Автор вопроса

Ё-маё! Я только половину слов понял. Завтра вечером буду разбираться.
VPN конфигом не поделитесь? Если он бесплатный

Вот простое решение без впн https://bafista.ru/the-movie-database-tmdb-zabloki. не спам, мой сайт.
Ответ написан более года назад
Комментировать
Нравится 1 Комментировать

CityCat4

CityCat4 @CityCat4 Куратор тега VPN
Внимание! Изменился адрес почты!

Единственный рабочий VPN — свой. Потому и «нидерланды работают». Потому что на самом деле работают 🙂
Конфигом для strongswan поделюсь запросто, но Вам не поможет 🙂 у меня шван спарен с домашним микротиком.

Ответ написан более года назад
Комментировать
Нравится Комментировать

Один из способов установить dnscryp-proxy — есть приложения для окон, линукс и на некоторые роутеры устанавливается. Плюсом идут дополнительные плюшки, минусом — относительная сложность настройки.
Проверено.

Ответ написан 14 окт.
Комментировать
Нравится Комментировать

Как вариант можно прописать DNS-over-TSL (DOT). У меня сайт не работал с Cloudflare и публичным NextDNS, с quad9 заработало.
Проверяла сначала прямо в хроме — Настройки — Use secure DNS — Custom — https://dns.quad9.net/dns-query — с ним сайт сразу стал открываться.

Если только для Synology, то можно просто в настройках прописать, как в посте из ответа BAF285, а если для винды или линукса — то в настройках сети. Но мне оказалось проще в роутере прописать, т.к. сайт нужен и с сервера, и с браузера, и для собственных скриптов с доступом к api может пригодиться, да и мало ли какие еще сайты таким образом блокируют.

post.cgi?id=attach:109:454:15273:1.png

Вот пример настроек для роутера ASUS (страница WAN):

Адреса берутся отсюда (также есть в пресетах в выпадающем списке): https://www.quad9.net/service/service-addresses-an.
Выбираем DNS-over-TSL (DOT) и вбиваем каждый адрес с TLS hostname.

Ответ написан 19 окт.
Комментировать
Нравится Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

vpn

  • VPN
  • +1 ещё

Есть сервер, за NAT. Доступен только 22й порт, как превратить его в VPN сервак?

  • 1 подписчик
  • 6 часов назад
  • 33 просмотра

Saved searches

Use saved searches to filter your results more quickly

Cancel Create saved search

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

dtrounine/themoviedb

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Switch branches/tags
Branches Tags
Could not load branches
Nothing to show
Could not load tags
Nothing to show

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Cancel Create

  • Local
  • Codespaces

HTTPS GitHub CLI
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more about the CLI.

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

Latest commit message
Commit time

README.md

Задание — Список фильмов

Цель

Написать приложение, состоящее из одного экрана со списком популярных фильмов, используя The Movie DB API https://www.themoviedb.org/. Документация по API доступна здесь: https://developers.themoviedb.org/3/getting-started.

  • Загрузка данных в фоновом потоке ( AsyncTaskLoader , Loader и.т.п)
  • Отображение данных в RecycleView
  • Выполнение запроса при помощи HttpURLConnection
  • Разбор ответа от API при помощи JsonReader или JSONObject
  • Отображение индикатора загрузки и ошибок.

Задание

  • Зарегистрироваться на https://www.themoviedb.org/ и получить ключ API, прописать ключ в классе TmdbApi вместо дефолтного.
  • В методе TmdbApi.getPopularMoviesRequest написать код, который создает запрос популярных фильмов, как описано в документации: https://developers.themoviedb.org/3/movies/get-popular-movies (для начала можно запрашивать только первую страницу результата). В качестве параметра запроса должен передаваться язык пользователя (системный).
  • Написать код парсера, который разбирает ответ от API и возвращает результат типа List (класс Movie уже есть в коде задания).
  • Написать код, отвечающий за асинхронную загрузку данных в фоновом потоке
  • Написать код и верстку основного экрана в классе PopularMoviesActivity , который:
    • При старте показывает индикатор процесса загрузки
    • После завершения загрузки показывает список фильмов в RecyclerView (нужно будет написать адаптер)
    • В случае ошибки показывает сообщение об ошибке
    • В случае отсутствия соединения показывает сообщение об отсутствии соединения

    Для отображения изображений постеров можно использовать библиотеку Fresco (http://frescolib.org/index.html), зависимость на которую уже добавлена в код задания. Из этой библиотеки понадобится один класс SimpleDraweeView , описание здесь: http://frescolib.org/docs/getting-started.html.

    Требования

    • При повороте экрана НЕ должна происходить повторная загрузка данных
    • Долгие операции НЕ должны выполняться в UI потоке
    • Во время загрузки должен показывать индикатор процесса загрузки
    • В случае ошибок или отсутсвия соединения должны показываться адекватные сообщения об ошибках
    • Приложение должно нормально выдерживать поворот экрана (с сохранением контента и без лишних действий)
    • Элемент списка фильмов должен содержать как минимум: изображение постера с правильными пропорциями, название и описание фильма на языке пользователя.
    • При необходимости верстка должна быть адаптирована к ландшафтной ориентации экрана (например, если постер в портретной ориентации может занимать всю ширину экрана, то в ландшафтной ориентации это недопустимо)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *