[][src]Struct google_youtube3::YouTube

pub struct YouTube<C, A> { /* fields omitted */ }

Central instance to access all YouTube related resource activities

Examples

Instantiate a new hub

extern crate hyper;
extern crate hyper_rustls;
extern crate yup_oauth2 as oauth2;
extern crate google_youtube3 as youtube3;
use youtube3::{Result, Error};
use std::default::Default;
use oauth2::{Authenticator, DefaultAuthenticatorDelegate, ApplicationSecret, MemoryStorage};
use youtube3::YouTube;
 
// Get an ApplicationSecret instance by some means. It contains the `client_id` and 
// `client_secret`, among other things.
let secret: ApplicationSecret = Default::default();
// Instantiate the authenticator. It will choose a suitable authentication flow for you, 
// unless you replace  `None` with the desired Flow.
// Provide your own `AuthenticatorDelegate` to adjust the way it operates and get feedback about 
// what's going on. You probably want to bring in your own `TokenStorage` to persist tokens and
// retrieve them from storage.
let auth = Authenticator::new(&secret, DefaultAuthenticatorDelegate,
                              hyper::Client::with_connector(hyper::net::HttpsConnector::new(hyper_rustls::TlsClient::new())),
                              <MemoryStorage as Default>::default(), None);
let mut hub = YouTube::new(hyper::Client::with_connector(hyper::net::HttpsConnector::new(hyper_rustls::TlsClient::new())), auth);
// You can configure optional parameters by calling the respective setters at will, and
// execute the final call using `doit()`.
// Values shown here are possibly random and not representative !
let result = hub.videos().list("part")
             .video_category_id("Lorem")
             .region_code("et")
             .page_token("duo")
             .on_behalf_of_content_owner("aliquyam")
             .my_rating("sea")
             .max_width(46)
             .max_results(26)
             .max_height(20)
             .locale("sadipscing")
             .id("dolor")
             .hl("eirmod")
             .chart("elitr")
             .doit();
 
match result {
    Err(e) => match e {
        // The Error enum provides details about what exactly happened.
        // You can also just use its `Debug`, `Display` or `Error` traits
         Error::HttpError(_)
        |Error::MissingAPIKey
        |Error::MissingToken(_)
        |Error::Cancelled
        |Error::UploadSizeLimitExceeded(_, _)
        |Error::Failure(_)
        |Error::BadRequest(_)
        |Error::FieldClash(_)
        |Error::JsonDecodeError(_, _) => println!("{}", e),
    },
    Ok(res) => println!("Success: {:?}", res),
}

Methods

impl<'a, C, A> YouTube<C, A> where
    C: BorrowMut<Client>,
    A: GetToken
[src]

pub fn new(client: C, authenticator: A) -> YouTube<C, A>[src]

pub fn activities(&'a self) -> ActivityMethods<'a, C, A>[src]

pub fn captions(&'a self) -> CaptionMethods<'a, C, A>[src]

pub fn channel_banners(&'a self) -> ChannelBannerMethods<'a, C, A>[src]

pub fn channel_sections(&'a self) -> ChannelSectionMethods<'a, C, A>[src]

pub fn channels(&'a self) -> ChannelMethods<'a, C, A>[src]

pub fn comment_threads(&'a self) -> CommentThreadMethods<'a, C, A>[src]

pub fn comments(&'a self) -> CommentMethods<'a, C, A>[src]

pub fn guide_categories(&'a self) -> GuideCategoryMethods<'a, C, A>[src]

pub fn i18n_languages(&'a self) -> I18nLanguageMethods<'a, C, A>[src]

pub fn i18n_regions(&'a self) -> I18nRegionMethods<'a, C, A>[src]

pub fn live_broadcasts(&'a self) -> LiveBroadcastMethods<'a, C, A>[src]

pub fn live_chat_bans(&'a self) -> LiveChatBanMethods<'a, C, A>[src]

pub fn live_chat_messages(&'a self) -> LiveChatMessageMethods<'a, C, A>[src]

pub fn live_chat_moderators(&'a self) -> LiveChatModeratorMethods<'a, C, A>[src]

pub fn live_streams(&'a self) -> LiveStreamMethods<'a, C, A>[src]

pub fn playlist_items(&'a self) -> PlaylistItemMethods<'a, C, A>[src]

pub fn playlists(&'a self) -> PlaylistMethods<'a, C, A>[src]

pub fn search(&'a self) -> SearchMethods<'a, C, A>[src]

pub fn sponsors(&'a self) -> SponsorMethods<'a, C, A>[src]

pub fn subscriptions(&'a self) -> SubscriptionMethods<'a, C, A>[src]

pub fn super_chat_events(&'a self) -> SuperChatEventMethods<'a, C, A>[src]

pub fn thumbnails(&'a self) -> ThumbnailMethods<'a, C, A>[src]

pub fn video_abuse_report_reasons(
    &'a self
) -> VideoAbuseReportReasonMethods<'a, C, A>
[src]

pub fn video_categories(&'a self) -> VideoCategoryMethods<'a, C, A>[src]

pub fn videos(&'a self) -> VideoMethods<'a, C, A>[src]

pub fn watermarks(&'a self) -> WatermarkMethods<'a, C, A>[src]

pub fn user_agent(&mut self, agent_name: String) -> String[src]

Set the user-agent header field to use in all requests to the server. It defaults to google-api-rust-client/1.0.12.

Returns the previously set user-agent.

pub fn base_url(&mut self, new_base_url: String) -> String[src]

Set the base url to use in all requests to the server. It defaults to https://www.googleapis.com/youtube/v3/.

Returns the previously set base url.

pub fn root_url(&mut self, new_root_url: String) -> String[src]

Set the root url to use in all requests to the server. It defaults to https://www.googleapis.com/.

Returns the previously set root url.

Trait Implementations

impl<'a, C, A> Hub for YouTube<C, A>[src]

Auto Trait Implementations

impl<C, A> Send for YouTube<C, A> where
    A: Send,
    C: Send

impl<C, A> !Sync for YouTube<C, A>

impl<C, A> Unpin for YouTube<C, A> where
    A: Unpin,
    C: Unpin

impl<C, A> UnwindSafe for YouTube<C, A> where
    A: UnwindSafe,
    C: UnwindSafe

impl<C, A> !RefUnwindSafe for YouTube<C, A>

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = !

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Typeable for T where
    T: Any