程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何使用YouTube API V3?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何使用YouTube API V3??

开发过程中遇到如何使用YouTube API V3?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何使用YouTube API V3?的解决方法建议,希望对你解决如何使用YouTube API V3?有所启发或帮助;

您无需使用Google提供的iOS客户端即可发出此类请求。

  1. 导航到API控制台并为您的iOS应用程序生成一个新的“简单API访问”密钥。确保在提供的窗口中输入您应用的捆绑包标识符。或者,您可以创建服务器API密钥以使用基本请求进行测试,并从命令行进行卷曲。

  2. 找到您需要的相关端点。要查找有关视频的信息,您将需要使用Videos.list方法。

首先,设置您的URL。我将以以下网址为例:https ://www.youtube.com/watch?v=AKiIEkaEHhI

您将要为part参数指定一个值。从你的问题,它看起来像你会想在传递snippetcontentDetailsstatistics值(然喜欢和看法,你真的只需要statistics值)。

然后传入ID视频的(在这种情况下AKiIEkaEHhI,您最多可以添加50个逗号分隔的ID)和API密钥。您的网址应如下所示:

https://www.GoogleAPIs.com/youtube/v3/vIDeos?part=contentDetails%2C+snippet%2C+statistics&ID=AKiIEkaEHhI&key={YOUR_API_KEY}

您也可以在API Explorer中执行此操作。

迅捷的实现:

// Set up your URL
let youtubeAPI = "https://www.GoogleAPIs.com/youtube/v3/vIDeos?part=contentDetails%2C+snippet%2C+statistics&ID=AKiIEkaEHhI&key={YOUR_API_KEY}"
let url = NSURL(String: youtubeAPI)

// Create your request
let task = NSURLSession.sharedSession().dataTaskWithURL(url!, completionHandler: { (data, response, error) -> VoID in
    do {
        if let JsonResult = try NSJsONserialization.JsONObjectWithData(data!, options: NSJsONReadingOptions.AllowFragments) as? [String : AnyObject] {

            print("Response from YouTube: \(JsonResult)")
        }
    }
    catch {
        print("Json error: \(error)")
    }

})

// Start the request
task.resume()

目标C实施:

(这篇文章已经过编辑以支持NSURLSession。有关使用的实现NSURLConnection,请检查编辑历史记录)

// Set up your URL
NsString *youtubeAPI = @"https://www.GoogleAPIs.com/youtube/v3/vIDeos?part=contentDetails%2C+snippet%2C+statistics&ID=AKiIEkaEHhI&key={YOUR_API_KEY}";
NSURL *url = [[NSURL alloc] initWithString:youtubeAPI];

// Create your request
NSURLrequest *request = [NSURLrequest requestWithURL:url];

// Send the request asynchronously
[[[NSURLSession sharedSession] dataTaskWithrequest:request completionHandler:^(NSData *data, NSURLResponse *response, 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) {
            NSLog(@"Response from YouTube: %@", JsonResult);
        }
    }
}] resume];

您的日志如下所示:

Response from YouTube: {
    etag = "\"NO6QTeg0-3ShswIEqLchQ_mzWJs/AAjIATmVK_8ySsAWwEuNfdZdjW4\"";
    items =     (
                {
            contentDetails =             {
                caption = false;
                deFinition = hd;
                dimension = 2d;
                duration = PT17M30S;
                licensedContent = 1;
            };
            etag = "\"NO6QTeg0-3ShswIEqLchQ_mzWJs/8v8ee5uPZQa1-ucVdjBdAVXzcZk\"";
            ID = AKiIEkaEHhI;
            kind = "youtube#vIDeo";
            snippet =             {
                categoryID = 20;
                chAnnelID = UCkvdZX3SVgfDW8ghtP1L2Ug;
                chAnneltitle = "Swordless link";
                description = "Follow me on Twitter! http://twitter.com/swordlesslink\n\nFollow me on TwitchTV for live vIDeo game streaming! http://twitch.tv/swordlesslink";
                livebroadcastContent = none;
                localized =                 {
                    description = "Follow me on Twitter! http://twitter.com/swordlesslink\n\nFollow me on TwitchTV for live vIDeo game streaming! http://twitch.tv/swordlesslink";
                    title = "The Legend of Zelda: Majora's Mask With Glitches - Part 17: Going Against the Flow";
                };
                publishedAt = "2015-05-04T10:01:43.000Z";
                thumbnails =                 {
                    default =                     {
                        height = 90;
                        url = "https://i.ytimg.com/vi/AKiIEkaEHhI/default.jpg";
                        wIDth = 120;
                    };
                    high =                     {
                        height = 360;
                        url = "https://i.ytimg.com/vi/AKiIEkaEHhI/hqdefault.jpg";
                        wIDth = 480;
                    };
                    medium =                     {
                        height = 180;
                        url = "https://i.ytimg.com/vi/AKiIEkaEHhI/mqdefault.jpg";
                        wIDth = 320;
                    };
                    standard =                     {
                        height = 480;
                        url = "https://i.ytimg.com/vi/AKiIEkaEHhI/sddefault.jpg";
                        wIDth = 640;
                    };
                };
                title = "The Legend of Zelda: Majora's Mask With Glitches - Part 17: Going Against the Flow";
            };
            statistics =             {
                commentCount = 54;
                dislikeCount = 3;
                favoriteCount = 0;
                likeCount = 265;
                vIEwCount = 6356;
            };
        }
    );
    kind = "youtube#vIDeoListResponse";
    pageInfo =     {
        resultsPerPage = 1;
        @R_846_10586@lResults = 1;
    };
} with error: nil

items密钥的对象将是您传递给请求的每个视频ID的信息数组。

通过深入研究此响应,您将能够获取所需的信息。例如:

if let items = Jsonresult["items"] as? [AnyObject]? {
    println(items?[0]["statistics"])
}

将为您提供有关视频统计信息的字典(您可以在其中获得“喜欢”次数和观看次数)。

{
    commentCount = 54;
    dislikeCount = 3;
    favoriteCount = 0;
    likeCount = 265;
    vIEwCount = 6356;
}

直播活动可以使用相同的方法。

解决方法

我试图弄清楚如何在我的iOS应用程序中使用新的YouTube
API(版本3),但我不知道该怎么做。我对此进行了很多研究,但是发现所有旧API的示例和代码都是无效的。直到现在,我的确了解到要使用新的API,您必须在Google
Developer Console中创建一个项目(我做到了)&Hellip;但是后来他们将您发送到带有一些代码的页面,但我真的不明白如何使用它。链接到Google
API页面
我需要知道的是如何从YouTube视频的给定URL中检索一些信息,我需要的信息是“喜欢”的总数和“观看”的总数&Hellip;使用API​​
2,操作非常简单它&Hellip;但是现在我真的不知道从哪里开始&Hellip;是否有人可以用一些示例和一些代码来说明如何实现这一目标?我很确定会有很多人从中受益。

大佬总结

以上是大佬教程为你收集整理的如何使用YouTube API V3?全部内容,希望文章能够帮你解决如何使用YouTube API V3?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。