0

我们正试图为我们自己的频道检索Youtube分析数据。我们正在使用GTLQueryYouTubeAnalytics。 这是一个iPhone应用程序使用Xcode的6YouTube分析API上的iOS Swift:404错误

这就是我们写在斯威夫特:

var scope = "https://www.googleapis.com/auth/youtube https://www.googleapis.com/auth/yt-analytics-monetary.readonly https://www.googleapis.com/auth/yt-analytics.readonly https://www.googleapis.com/auth/youtubepartner https://www.googleapis.com/auth/youtube.readonly" 
var vc = GTMOAuth2ViewControllerTouch(scope: scope, clientID: clientID, clientSecret: clientSecret, keychainItemName: kKeyChainItemName, delegate: self, finishedSelector:Selector("authentication:finishedWithAuth:error:")) 


In authentication(){ 

    .... 
    .... 
    // On Success 
    service = GTLServiceYouTube() 
    service.authorizer = finishedWithAuth 

    // Channel is my Channel ID 
    var newQuery: GTLQueryYouTubeAnalytics = GTLQueryYouTubeAnalytics.queryForReportsQueryWithIds("channel==*****", startDate: "2014-10-15", endDate: "2014-10-16", metrics: "views,likes,shares,comments") as GTLQueryYouTubeAnalytics 

    var ticket1 = GTLServiceTicket() 
    ticket1 = service.executeQuery(newQuery, completionHandler: { (ticket: GTLServiceTicket!, object: AnyObject!, error: NSError!) -> Void in 

     println("Analytics: \(object) or \(error)") 

    }) 

} 

这是我的输出:

Analytics: nil or Error Domain=com.google.GTLJSONRPCErrorDomain Code=404 "The operation couldn’t be completed. (Not Found)" UserInfo=0x***** {error=Not Found, NSLocalizedFailureReason=(Not Found), GTLStructuredError=GTLErrorObject 0x7f8e43ddc9b0: {message:"Not Found" data:[1] code:404}} 

我们在这里错过了什么?我们运行了YouTubeDataAPI的上一个查询,效果很好。

任何想法赞赏!

回答

0

范围没有意义。它应该只包含一个网址,例如

var scope = "https://www.googleapis.com/auth/youtube" 
0

谢谢Dharmesh和安东尼,但范围不是它。范围需要一个“字符串”,因此,这些空间就是谷歌期望的。

问题的根本原因是使用的服务。要使用的正确服务是:

service = GTLServiceYouTubeAnalytics()