显示可分配的YouTube类别列表

时间:2012-12-19 22:26:30

标签: youtube-api uipickerview categories

我正在将视频从我的应用上传到YouTube。我已经完成了,但有一个小问题。我使用选择器允许用户选择视频的类别。我试图在他们的上传页面中使用Apple列出的类别,其中包括“汽车和车辆”等项目。但是,如果你看一下YouTube接受的类别,那么这就是“Autos”。为了解决这个问题,我使用“Autos& Vehicles”为Picker创建了Array,但后来我将它们转换为“Autos”。

我使用以下代码执行此操作。

pickerArray = [[NSMutableArray alloc ]init ];
    [pickerArray addObject: @"Autos & Vehicles" ];
    [pickerArray addObject:@"Comedy"];
    [pickerArray addObject:@"Education"];
    [pickerArray addObject:@"Entertainment"];
    [pickerArray addObject:@"Film & Animation"];
    [pickerArray addObject:@"Gaming"];
    [pickerArray addObject:@"Howto & Style"];
    [pickerArray addObject:@"Music"];
   [pickerArray addObject:@"News & Politics"];
    [pickerArray addObject:@"Nonprofits & Activism"];
    [pickerArray addObject:@"People & Blogs"];
   [pickerArray addObject:@"Pets & Animals"];
     [pickerArray addObject:@"Science & Technology"];
    [pickerArray addObject:@"Sports"];
    [pickerArray addObject:@"Travel & Events"];

    [catagoryPicker selectRow:1 inComponent:0 animated:NO];
    catagoryField1.text = [pickerArray objectAtIndex:[catagoryPicker selectedRowInComponent:0]];

//and then to convert this code


-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
    catagoryField1.text = [pickerArray objectAtIndex:row];

    if (catagoryField1.text == @"Comedy") {
        catagoryField.text =@"Comedy";
    }
    else if (catagoryField1.text == @"Autos & Vehicles") {
        catagoryField.text =@"Autos";}
    else if (catagoryField1.text == @"Gaming") {
        catagoryField.text =@"Games";}
    else if (catagoryField1.text == @"Education") {
        catagoryField.text =@"Education";}
    else if (catagoryField1.text == @"Entertainment") {
        catagoryField.text =@"Entertainment";}
    else if (catagoryField1.text == @"Film & Animation") {
        catagoryField.text =@"Film";}
    else if (catagoryField1.text == @"Howto & Style") {
        catagoryField.text =@"Howto";}
    else if (catagoryField1.text == @"Music") {
        catagoryField.text =@"Music";}
    else if (catagoryField1.text == @"News & Politics") {
        catagoryField.text =@"News";}
    else if (catagoryField1.text == @"Nonprofits & Activism") {
        catagoryField.text =@"Nonprofit";}
    else if (catagoryField1.text == @"People & Blogs") {
        catagoryField.text =@"People";}
    else if (catagoryField1.text == @"Pets & Animals") {
        catagoryField.text =@"Animals";}
    else if (catagoryField1.text == @"Science & Technology") {
        catagoryField.text =@"Tech";}
    else if (catagoryField1.text == @"Sports") {
        catagoryField.text =@"Sports";}
    else if (catagoryField1.text == @"Travel & Events") {
        catagoryField.text =@"Travel";}
}

当只有一个单词如“Gaming”时,这种方法有效,但在使用“Autos& Vehicles”时不起作用。如果我使用“汽车/车辆”它不起作用,但“汽车/车辆”。所以我假设空间的使用会让人感到困惑。有人可以告诉我如何解决这个问题,以便我可以使用“汽车和车辆”。

由于

2 个答案:

答案 0 :(得分:1)

要根据All categoriesYouTube中获取country wise,请使用GET Request

https://www.googleapis.com/youtube/v3/videoCategories?key={your public access api key here}&part=snippet&regionCode=IN

注意:regionCode是参数值,是ISO 3166-1 alpha-2国家/地区代码。

答案 1 :(得分:0)

https://developers.google.com/youtube/2.0/reference#YouTube_Category_List

解释了这一点

基本上,每个类别都有term值(这是您传入API的值)和label值(这是您在UI中显示的值)。这些文档解释了如何在XML文件中检索这些值的列表以及如何确定要显示的内容。