fbpx

Получение API-токена для работы с Movie Database API

Получение API token для запросов к The Movie DB

Для получения списка фильмов мы будем использовать бесплатный сервис The Movie DB. Этот сервис имеет огромное количество данных о фильмах и идеально подходит для создания клиентского приложения для поиска фильмов. Вы можете использовать данное API не только для текущего мини-курса, но и для будущих проектов.

Для создания запросов к API нам потребуется так называемый ключ или токен. 

Чтобы его получить – необходимо зарегистрироваться в сервисе по адресу: https://www.themoviedb.org/?language=ru.

После регистрации выберите свой профиль и раздел API. В данном разделе будет информация о токене, который вы можете использовать в запросах.

Например, если ваш токен abcd12345678910 – то для получения списка фильмов ваш запрос должен выглядеть так https://api.themoviedb.org/3/movie/550?api_key=abcd12345678910, где параметр api_key – как раз имеет значение вашего  токена.

Ура, мы получили токен и теперь можем сделать запрос для получения фильмов. Откройте стартовый проект, создайте файл keystore.properties и добавьте в него ваш ключ:

Добавление API-ключа в отдельный файл, позволит вам добавить файл keystore.properties в .gitignore и не светить им например в публичном репозитории на GitHub. Если вы заглянете в build.gradle (:app) то увидите, что через определение дополнительного свойства buildConfigField ‘String’, ‘THE_MOVIE_DATABASE_API’, keystoreProperties[‘THE_MOVIE_DATABASE_API’] мы можем добавить его в BuildConfig и прочитать из любого места в проекте.

    // Здесь читается API-ключ из файла
def keystorePropertiesFile = rootProject.file("keystore.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.2"
    defaultConfig {
        applicationId "ru.mikhailskiy.livedata"
        minSdkVersion 21
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        // Здесь добавляется API-ключ в BuildConfig
        buildConfigField 'String', 'THE_MOVIE_DATABASE_API', keystoreProperties['THE_MOVIE_DATABASE_API']
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
.....

Теперь, чтобы использовать ключ в проекте, пропишите в MainActivity.kt:

companion object {
    private val TAG = MainActivity::class.java.simpleName
    private val API_KEY = BuildConfig.THE_MOVIE_DATABASE_API
}

В первый раз BuildConfig.THE_MOVIE_DATABASE_API будет подсвечиваться, это нормально, запустите проект, проверьте, что всё работает. Если вы сделали всё правильно – то теперь получите список фильмов. BuildConfig генерируется после запуска и сборки проекта.