create playlist in Youtube api

后端 未结 2 1520
情话喂你
情话喂你 2021-01-07 11:49

I\'ve looked at Youtube\'s documentation but I don\'t seem to understand how to create a playlist for the user specifically for ios. I know the user needs to sign in using O

2条回答
  •  猫巷女王i
    2021-01-07 12:36

    Here is update!

    Client library from Google was updated.

    Documentation: YouTube Data API Overview

    Playlist documentation: Playlists: insert

    GitHub client library: Google APIs Client Library for Objective-C For REST

    Here are pods need to be install:

    pod 'GTMSessionFetcher'
    pod 'GTMOAuth2'
    pod 'GoogleAPIClientForREST/YouTube’
    

    If we think that we have clientID, clientSecret and scope (read documentation) then we can create viewController for authentication:

    GTMOAuth2ViewControllerTouch *viewController = [[GTMOAuth2ViewControllerTouch alloc]
                                                        initWithScope:scope
                                                        clientID:kMyClientID
                                                        clientSecret:kMyClientSecret
                                                        keychainItemName: nil
                                                        completionHandler:
                                                        ^(GTMOAuth2ViewControllerTouch *viewController, GTMOAuth2Authentication *auth, NSError *error) {
                                                            [self dismissViewControllerAnimated:NO completion:nil];
                                                            if (!error)
                                                            {
                                                                GTLRYouTubeService *youTubeService = [[GTLRYouTubeService alloc] init];
                                                                youTubeService.authorizer = auth;
                                                                [self createPlaylistWithTitle: @"Title" description: @"description" youtubeService: youtubeService];
                                                            }
                                                        }];
    [self presentViewController:viewController animated:YES completion:nil];
    

    Method that creates private playlist:

    - (void)createPlaylistWithTitle:(NSString *)playlistTitle description:(NSString *)playlistDescription youtubeService:(GTLRYouTubeService *)youTubeService
    {
        GTLRYouTube_Playlist *playlist = [[GTLRYouTube_Playlist alloc] init];
    
        GTLRYouTube_PlaylistSnippet *playlistSnippet = [[GTLRYouTube_PlaylistSnippet alloc] init];
        playlistSnippet.title = playlistTitle;
        playlistSnippet.descriptionProperty = playlistDescription;
    
        GTLRYouTube_PlaylistStatus *playlistStatus = [[GTLRYouTube_PlaylistStatus alloc] init];
        playlistStatus.privacyStatus = @"private";
    
        playlist.snippet = playlistSnippet;
        playlist.status = playlistStatus;
    
        GTLRYouTubeQuery_PlaylistsInsert *query = [GTLRYouTubeQuery_PlaylistsInsert queryWithObject:playlist part:@"snippet,status"];
        [youTubeService executeQuery:query completionHandler:^(GTLRServiceTicket *ticket, id object, NSError *error) {
            if (!error)
            {
                NSLog(@"response: %@", object);
            }
        }];
    }
    

提交回复
热议问题