Ios 获取Youtube视频浏览量Youtube API v3/Swift
我正在尝试获取Youtube视频的浏览量Ios 获取Youtube视频浏览量Youtube API v3/Swift,ios,json,swift,youtube,Ios,Json,Swift,Youtube,我正在尝试获取Youtube视频的浏览量 "snippet": { "publishedAt": datetime, "channelId": string, "title": string, "description": string, "thumbnails": { (key): { "url": string, "width": unsigned integer, "height": uns
"snippet": {
"publishedAt": datetime,
"channelId": string,
"title": string,
"description": string,
"thumbnails": {
(key): {
"url": string,
"width": unsigned integer,
"height": unsigned integer
}
},
"channelTitle": string,
"tags": [
string
],
"categoryId": string,
"liveBroadcastContent": string,
"defaultAudioLanguage": string
},
"statistics": {
"viewCount": unsigned long,
"likeCount": unsigned long,
"dislikeCount": unsigned long,
"favoriteCount": unsigned long,
"commentCount": unsigned long
这就是需要解析的JSON。我在网上找到了一个教程,其中包含正确解析的代码片段
,如下所示:
performGetRequest(targetURL, completion: { (data, HTTPStatusCode, error) -> Void in
if HTTPStatusCode == 200 && error == nil {
// Convert the JSON data to a dictionary object.
let resultsDict = (try! NSJSONSerialization.JSONObjectWithData(data!, options: [])) as! Dictionary<NSObject, AnyObject>
// Get all search result items ("items" array).
let items: Array<Dictionary<NSObject, AnyObject>> = resultsDict["items"] as! Array<Dictionary<NSObject, AnyObject>>
// Loop through all search results and keep just the necessary data.
for var i=0; i<items.count; ++i {
let snippetDict = items[i]["snippet"] as! Dictionary<NSObject, AnyObject>
// let statisticsDict = items[i]["statistics"] as! Dictionary<NSObject, AnyObject>
// Create a new dictionary to store the video details.
var videoDetailsDict = Dictionary<NSObject, AnyObject>()
videoDetailsDict["title"] = snippetDict["title"]
videoDetailsDict["channelTitle"] = snippetDict["channelTitle"]
videoDetailsDict["thumbnail"] = ((snippetDict["thumbnails"] as! Dictionary<NSObject, AnyObject>)["default"] as! Dictionary<NSObject, AnyObject>)["url"]
videoDetailsDict["videoID"] = (items[i]["id"] as! Dictionary<NSObject, AnyObject>)["videoId"]
// videoDetailsDict["viewCount"] = statisticsDict["viewCount"]
// Append the desiredPlaylistItemDataDict dictionary to the videos array.
self.videosArray.append(videoDetailsDict)
performGetRequest(targetURL,完成:{(数据,HTTPStatusCode,错误)->在中无效
如果HTTPStatusCode==200&&error==nil{
//将JSON数据转换为dictionary对象。
让resultsDict=(try!NSJSONSerialization.JSONObjectWithData(data!,选项:[])作为!字典
//获取所有搜索结果项(“项”数组)。
让items:Array=resultsDict[“items”]作为!数组
//循环浏览所有搜索结果,只保留必要的数据。
对于var i=0;i确保在部分
参数中添加统计数据
,如下所示:
另外,如果您只需要视频计数(或任何特定信息),我建议您使用字段
参数做出更小、更清晰的响应
i、 e使用字段=项目/统计信息(viewCount)
确保在部分
参数中添加统计信息
,如下所示:
另外,如果您只需要视频计数(或任何特定信息),我建议您使用字段
参数做出更小、更清晰的响应
i、 e使用字段=项目/统计信息(viewCount)
您应该开始将字典声明从一个字典更改为另一个字典确保targetURL
包含统计信息
部分var urlString=”https://www.googleapis.com/youtube/v3/search?part=snippet,statistics&q=\(searchBar.text)&type=video&maxResults=15&key=\(apiKey)”
不起作用。您必须单独执行GET吗?您应该开始将字典声明从一个字典更改为另一个字典。确保targetURL
包含统计信息
部分var urlString=”https://www.googleapis.com/youtube/v3/search?part=snippet,统计及问答=\(searchBar.text)&type=video&maxResults=15&key=\(apiKey)“
不起作用。您必须单独执行GET吗?可能重复