如何在YouTube api3中只获取短视频?理想的 Android、Kotlin

问题描述 投票:0回答:1

我正在制作一个 Android 应用程序并在那里连接 YouTube API,我需要对我获得的视频进行排序。 例如:仅限长视频、普通视频和短视频。我是 YouTube API 的新手,我不知道该怎么做。

有人可以帮忙吗?

我的代码有一小部分:

RetroInstance 文件代码:

import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory

object RetroInstance {

    fun retroInstance(): YoutubeService {
        return Retrofit.Builder()
            .baseUrl("https://www.googleapis.com/youtube/v3/")
            .addConverterFactory(GsonConverterFactory.create())
            .build()
            .create(YoutubeService::class.java)
    }
}

和Youtube服务代码:

import com.example.alaproapp.model.YoutubeModel
import retrofit2.*
import retrofit2.http.GET
import retrofit2.http.Query

interface YoutubeService {

    @GET("search")
    fun getAllData(
        @Query("key") key: String = "key",
        @Query("channelId") channelId: String = "UCHVY_-jY-FayjszyX1nlGtQ",
        @Query("order") order: String = "date",
        @Query("maxResults") maxResult: String = "1800",
        @Query("part") part: String = "snippet,id"
    ): Call<YoutubeModel>
}

我尝试使用文档,但我之前提到过,我对此很陌生,而且我不明白该怎么做。

android youtube-api
1个回答
0
投票

您应该在 /search 请求中添加另一个参数,以按短、中或长过滤视频。

@Query("videoDuration") part: String = ""  // Value: long, medium, short, any

长 - 20 分钟以上

中 - 4-20 分钟

短 - <= 4 min

https://youtube.googleapis.com/youtube/v3/search?
part=snippet,id
&channelId=UCHVY_-jY-FayjszyX1nlGtQ
&maxResults=1800
&order=date
&type=video
&videoDuration=long
&key=[YOUR_API_KEY]

文档 https://developers.google.com/youtube/v3/docs/search/list

© www.soinside.com 2019 - 2024. All rights reserved.