YouTube API V3 - 获取新提要的推荐视频

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

在关于实施和迁移到 API V3 的 YouTube 官方文档中,他们说:

YouTube 数据 API (v2) 功能:检索视频推荐
v3 API 不会检索仅包含为当前 API 用户推荐的视频的列表。但是,您可以使用 v3 API 通过调用 activities.list 方法并将 home 参数值设置为 true 来查找推荐视频。

但现在参数

home
也已被弃用。 目前,当我将
home
参数设置为
true
时,我仅检索频道中最近上传的视频:YouTube 中的热门视频。根本没有带有
snippet.type=recommendation
的视频。

我需要在新的 feed 中显示经过身份验证的用户的推荐视频,但 YouTube 似乎已完全弃用此功能。 有人有解决办法吗?
先谢谢啦!

youtube youtube-api youtube-data-api
5个回答
2
投票

不幸的是,我找不到任何有关此功能的文档或示例。看来这已被弃用。但是,您可以使用示例 JSON 结构检查此文档,该结构显示活动资源的格式,例如推荐

"recommendation": {
      "resourceId": {
        "kind": string,
        "videoId": string,
        "channelId": string,
},

希望这有帮助!


1
投票

我找到了这个 youtubes 搜索 api。我们需要做的就是在

relatedToVideoId
中输入一个视频 ID,它会给出与之相关的视频列表。


0
投票

API 的文档包含一种测试请求的方法。那里的代码示例展示了如何为经过身份验证的请求设置“我的”。

youtube活动

这是 Android 示例代码。它需要在某个后台线程中。 ChannelList 响应上的 setmine = true 就像家(我认为)。不确定您的实施是针对网络还是应用程序。

这是Android代码:

 YouTube youtube = new YouTube.Builder(transport, jsonFactory,
                    credential).setApplicationName(getString(R.string.app_name))
                    .build();

            YouTube.Activities.List activities;
            ActivityListResponse activityListResponse = null;
            List<ActivityData> activitiesData = new ArrayList<ActivityData>();

            try {
                /*
                 * Now that the user is authenticated, the app makes a
                 * channels list request to get the authenticated user's
                 * channel. Returned with that data is the playlist id for
                 * the uploaded videos.
                 * https://developers.google.com/youtube
                 * /v3/docs/channels/list
                 */

                ChannelListResponse clr = youtube.channels().list("contentDetails")
                        .setMine(true).execute();


               activities  = youtube.activities().list("id,snippet,subscriberSnippet");
                activities.setChannelId(clr.getItems().get(0).getId());

                activities.setMaxResults((long) 50);
                activityListResponse = activities.execute();

                ArrayList<String> subscriptionListIdentifier = new ArrayList<String>()
                        ,listTitles = new ArrayList<String>()
                        ,listThumbnails = new ArrayList<String>();

                List<Activity> results = activityListResponse.getItems();

                for (Activity activity : results) {
                    listTitles.add(activity.getSnippet().getTitle());
                    listThumbnails.add(activity.getSnippet().getThumbnails().getDefault().getUrl());
                    subscriptionListIdentifier.add(activity.getId());
                    //if ("public".equals(playlist.getStatus()
                    //        .getPrivacyStatus())) {
                    ActivityData data = new ActivityData();
                    data.setActivity(activity);
                    activitiesData.add(data);
                    //}
                }

                return activitiesData;

0
投票

您可以使用以下 API 调用来检索它们:

GET https://www.googleapis.com/youtube/v3/activitiespart=snippet%2CcontentDetails&channelId={channel—_Id}&maxResults=25&regionCode=tw&key={YOUR_API_KEY}

0
投票

要检索 YouTube 视频和频道的观看统计数据、受欢迎程度指标和人口统计信息,您可以使用 YouTube Analytics API。示例 API 请求页面展示了如何从 YouTube Analytics 检索常见报告。

从 Youtube Data API 文档中得到这个,你可以尝试一下

GET {base_URL}/activities?part=snippet,contentDetails&home=true
© www.soinside.com 2019 - 2024. All rights reserved.