我正在尝试从 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,等等......)
提前致谢!
我正在尝试从 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。
谢谢!如果您需要任何其他数据,请告诉我。
我正在创建一个可在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)