예제 #1
0
        internal static void RevokeSingleAccess(IYoutubeAccount account, IYoutubeAccountAccess access)
        {
            LOGGER.Info($"Revoking single access of account with id: {account.Id} and title: '{account.Title}'");

            string address = $"https://accounts.google.com/o/oauth2/revoke?token={access.RefreshToken}";

            WebRequest request = WebRequest.Create(address);

            request.ContentType = "application/x-www-form-urlencoded";

            WebService.Communicate(request);

            account.Access.Remove(access);
        }
예제 #2
0
        private static Response GetAccountDetails(IYoutubeAccountAccess access)
        {
            string         url     = $"https://www.googleapis.com/youtube/v3/channels?part=snippet&mine=true&key={YoutubeClientData.YoutubeApiKey}";
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

            request.Method          = "GET";
            request.Credentials     = CredentialCache.DefaultCredentials;
            request.ProtocolVersion = HttpVersion.Version11;

            // Header schreiben
            request.Headers.Add($"Authorization: Bearer {access.AccessToken}");

            var result = WebService.Communicate(request);

            QuotaProblemHandler.ThrowOnQuotaLimitReached(result);

            Response response = JsonConvert.DeserializeObject <Response>(result);

            return(response);
        }