小编emb*_*ole的帖子

Youtube-api v3:是否可以按特定顺序获取视频?

我正在尝试从 Android 应用程序上的 YouTube 视频中获取某些订单。我想搜索,例如:

Fight 1
Fight 2
Fight 3
Fight 4
Run Code Online (Sandbox Code Playgroud)

这是我的搜索列表:

YouTube.Search.List search = mYouTubeDataApi.search().list("id,snippet");

            search.setKey(ApiKey.YOUTUBE_API_KEY);
            search.setQ(mTitle + " " + mSearchQuery);

            search.setType("video");                
            search.setFields("items(id/kind,id/videoId,snippet/title,snippet/thumbnails/default/url)");
            search.setMaxResults(YOUTUBE_PLAYLIST_MAX_RESULTS);
            searchResponse = search.execute();
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已尝试添加到我的搜索列表:

search.setOrder("title");
Run Code Online (Sandbox Code Playgroud)

我也尝试以这种方式手动对项目进行排序

    List<Video> items = videoListResponse.getItems();
    Collections.sort(items, new Comparator<Video>() {
        @Override
        public int compare(Video video, Video t1) {
            return video.getSnippet().getTitle().compareToIgnoreCase(t1.getSnippet().getTitle());
        }
    });
    return new Pair(searchResponse.getNextPageToken(), items);
Run Code Online (Sandbox Code Playgroud)

但我仍然没有得到我预期的结果,而且我的排序不好(即:战斗1,战斗10,战斗11,战斗2,等等......)

提前致谢!

android youtube-api

3
推荐指数
1
解决办法
2725
查看次数

确定给定的 url(来自字符串)是否来自我的域

我正在尝试从 C# 代码检查给定的 url 是否来自我的域,以便为外部链接添加“nofollow”和“target _Blank”属性。

当我谈论外部链接时,我指的是我的域之外的任何链接。

默认情况下它不具有该属性。我尝试了很多东西,基本上这是我需要修复的部分:

 public void PrepareLink(HtmlTag tag)
    {
        string url = tag.attributes["href"];

        if (PrepareLink != null)
        {
            if (it is from an external site???)
            {
                tag.attributes["rel"] = "nofollow";
                tag.attributes["target"] = "_blank";
            }                
        }
Run Code Online (Sandbox Code Playgroud)

编辑:我尝试过的事情:

                string dominioLink = new Uri(url).Host.ToLower();

                if (!dominioLink.Contains(myDomainURL))
                {
                    tag.attributes["rel"] = "nofollow";
                    tag.attributes["target"] = "_blank";
                }
Run Code Online (Sandbox Code Playgroud)

其中存在不考虑子域的问题

即,如果创建的链接是http://www.mydomain.com.anotherfakedomain.com,它将返回 true 并且工作良好。

我查看了每个 Uri 属性,但似乎不包含基本域。

我目前正在使用 .NET Core 2.0。

谢谢!如果您需要任何其他数据,请告诉我。

.net c# asp.net-mvc

2
推荐指数
1
解决办法
1704
查看次数

异步任务不会让我覆盖onPostExecute(方法不会覆盖其超类中的方法)

我正在创建一个可在YouTube上获取播放列表列表的应用。它曾经是一个视频列表,但是我更改了代码,现在它不让我覆盖该方法。

我的理解是,我应该使用新的播放列表值而不是以前的Video来更改“扩展AsyncTask”,但仍然无法正常工作。

它是:

public abstract class GetPlaylistAsyncTask extends AsyncTask<String, Void, Pair<String, List<Video>>> {
Run Code Online (Sandbox Code Playgroud)

现在是:

public abstract class GetPlaylistAsyncTask extends AsyncTask<String, Void, Pair<String, List<Playlist>>> {
Run Code Online (Sandbox Code Playgroud)

这是错误所在:

mPlaylist = new Playlist(mPlaylistId);
initAdapter(mPlaylist);
new GetPlaylistAsyncTask(mYouTubeDataApi, mTitle, mSearchQuery) {
    @Override
    public void onPostExecute(Pair<String, List<Playlist>> result) {
        handleGetPlaylistResult(mPlaylist, result);
    }
}.execute(mPlaylist.playlistId, mPlaylist.getNextPageToken());
Run Code Online (Sandbox Code Playgroud)

这是AsyncTask:

public abstract class GetPlaylistAsyncTask extends AsyncTask<String, Void, Pair<String, List<Playlist>>> {
    private static final String TAG = "GetPlaylistAsyncTask";
    private static final Long YOUTUBE_PLAYLIST_MAX_RESULTS = 50L;

    private static final String YOUTUBE_VIDEOS_PART = "snippet,contentDetails,statistics"; // …
Run Code Online (Sandbox Code Playgroud)

android android-asynctask

1
推荐指数
1
解决办法
2001
查看次数

标签 统计

android ×2

.net ×1

android-asynctask ×1

asp.net-mvc ×1

c# ×1

youtube-api ×1