How to get YouTube channel name?

I searched YouTube Docs and found nothing to get a different channel name from the YouTube video.

I.e

Currently, I would like to get the name of the channel from the video , I only have a URL, how to get the name of the channel?

+4
source share
3 answers

You can extract the video id from the URL and then execute an HTTP GET request:

https://gdata.youtube.com/feeds/api/videos/dQw4w9WgXcQ?v=2&alt=json

where dQw4w9WgXcQ is the identifier of the video that interests you. This returns a JSON response with the channel name in the author field (click the link for an example).

For more information, see Extracting data for a single video and the rest of the YouTube API documentation.

See How do I find all YouTube video IDs in a string using regex? for some ways to get the video id from the YouTube URL.

+3
source

You can do this easily using the YouTube v3 data API .

The last part of the URL after http://www.youtube.com/watch?v= "is your VIDEO_ID.

Just make a video> list using the part = "snippet" parameter. Then you can take snippet.channelId in response.

The request will look like this:

GET https://www.googleapis.com/youtube/v3/videos?part=snippet&id=EhNWzcUqGbI&key= {YOUR_API_KEY}

for your example.

You can always try them using the API browser .

Great code examples to get you started.

+5
source

For all newcomers who are lost: consider an example function that will help you understand the entire cycle of extraction, parsing, display, etc., and bring the video with youtube channels directly to your tablet. im not writing a table here.

  -(void)initiateRequestToYoutubeApiAndGetChannelInfo { NSString * urlYouCanUseAsSample = @"https://www.googleapis.com/youtube/v3/search?key={YOUR_API_KEY_WITHOUT_CURLY_BRACES}&channelId={CHANNEL_ID_YOU_CAN_GET_FROM_ADDRESS_BAR_WITHOUT_CURLY_BRACES}&part=snippet,id&order=date&maxResults=20"; NSURL *url = [[NSURL alloc] initWithString: urlYouCanUseAsSample]; // Create your request NSURLRequest *request = [NSURLRequest requestWithURL:url]; // Send the request asynchronously remember to reload tableview on global thread [NSURLConnection sendAsynchronousRequest:request queue:[[NSOperationQueue alloc] init] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) { // Callback, parse the data and check for errors if (data && !connectionError) { NSError *jsonError; NSDictionary *jsonResult = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&jsonError]; if (!jsonError) { // better put a breakpoint here to see what is the result and how it is brought to you. Channel id name etc info should be there NSLog(@"%@",jsonResult); /// separating "items" dictionary and making array // id keyValuePairDict = jsonResult; NSMutableArray * itemList = keyValuePairDict[@"items"]; for (int i = 0; i< itemList.count; i++) { /// separating VIDEO ID dictionary from items dictionary and string video id id v_id0 = itemList[i]; NSDictionary * vid_id = v_id0[@"id"]; id v_id = vid_id; NSString * video_ID = v_id[@"videoId"]; //you can fill your local array for video ids at this point // [video_IDS addObject:video_ID]; /// separating snippet dictionary from itemlist array id snippet = itemList[i]; NSDictionary * snip = snippet[@"snippet"]; /// separating TITLE and DESCRIPTION from snippet dictionary id title = snip; NSString * title_For_Video = title[@"title"]; NSString * desc_For_Video = title[@"description"]; //you can fill your local array for titles & desc at this point // [video_titles addObject:title_For_Video]; // [video_description addObject:desc_For_Video]; /// separating thumbnail dictionary from snippet dictionary id tnail = snip; NSDictionary * thumbnail_ = tnail[@"thumbnails"]; /// separating highresolution url dictionary from thumbnail dictionary id highRes = thumbnail_; NSDictionary * high_res = highRes[@"high"]; /// separating HIGH RES THUMBNAIL IMG URL from high res dictionary id url_for_tnail = high_res; NSString * thumbnail_url = url_for_tnail[@"url"]; //you can fill your local array for titles & desc at this point [video_thumbnail_url addObject:thumbnail_url]; } // reload your tableview on main thread //[self.tableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO]; performSelectorOnMainThread:@selector(reloadInputViews) withObject:nil waitUntilDone:NO]; // you can log all local arrays for convenience // NSLog(@"%@",video_IDS); // NSLog(@"%@",video_titles); // NSLog(@"%@",video_description); // NSLog(@"%@",video_thumbnail_url); } else { NSLog(@"an error occurred"); } } }]; } 
+1
source

Source: https://habr.com/ru/post/1492913/


All Articles