Archived
1
0

Core refactoring (app doesn't work)

This commit is contained in:
Michael Gordeev
2020-05-09 23:16:19 +03:00
parent 2b1f06dd93
commit 2a987e33a2
35 changed files with 1135 additions and 817 deletions
+39 -39
View File
@@ -7,52 +7,52 @@ using Google.Apis.YouTube.v3.Data;
using System.Collections.Generic;
using YouTube;
namespace FoxTube.Core.Models
namespace FoxTube.Models
{
public class User
{
public Userinfoplus UserInfo { get; }
public UserCredential Credential { get; }
public Channel Channel { get; private set; }
public List<Subscription> Subscriptions { get; } = new List<Subscription>();
public ExtendedYouTubeService Service { get; }
public class User
{
public Userinfoplus UserInfo { get; }
public UserCredential Credential { get; }
public Channel Channel { get; private set; }
public List<Subscription> Subscriptions { get; } = new List<Subscription>();
public ExtendedYouTubeService Service { get; }
public User(UserCredential credential)
{
Credential = credential;
BaseClientService.Initializer initializer = new BaseClientService.Initializer
{
ApplicationName = "FoxTube",
HttpClientInitializer = Credential
};
public User(UserCredential credential)
{
Credential = credential;
BaseClientService.Initializer initializer = new BaseClientService.Initializer
{
ApplicationName = "FoxTube",
HttpClientInitializer = Credential
};
Service = new ExtendedYouTubeService(initializer);
Service = new ExtendedYouTubeService(initializer);
UserInfo = new Oauth2Service(initializer).Userinfo.Get().Execute();
UserInfo = new Oauth2Service(initializer).Userinfo.Get().Execute();
// TODO: Retrieve history and WL
// TODO: Retrieve history and WL
SubscriptionsResource.ListRequest subRequest = Service.Subscriptions.List("snippet");
subRequest.Mine = true;
subRequest.MaxResults = 50;
subRequest.Order = SubscriptionsResource.ListRequest.OrderEnum.Relevance;
SubscriptionListResponse subResponse;
string nextToken = null;
Subscriptions.Clear();
SubscriptionsResource.ListRequest subRequest = Service.Subscriptions.List("snippet");
subRequest.Mine = true;
subRequest.MaxResults = 50;
subRequest.Order = SubscriptionsResource.ListRequest.OrderEnum.Relevance;
SubscriptionListResponse subResponse;
string nextToken = null;
Subscriptions.Clear();
do
{
subRequest.PageToken = nextToken;
subResponse = subRequest.Execute();
foreach (Subscription s in subResponse.Items)
Subscriptions.Add(s);
nextToken = subResponse.NextPageToken;
do
{
subRequest.PageToken = nextToken;
subResponse = subRequest.Execute();
foreach (Subscription s in subResponse.Items)
Subscriptions.Add(s);
nextToken = subResponse.NextPageToken;
} while (!string.IsNullOrWhiteSpace(nextToken));
} while (!string.IsNullOrWhiteSpace(nextToken));
var request = Service.Channels.List("snippet,contentDetails");
request.Mine = true;
Channel = request.Execute().Items[0];
}
}
var request = Service.Channels.List("snippet,contentDetails,brandingSettings");
request.Mine = true;
Channel = request.Execute().Items[0];
}
}
}