iOS Swift: 404 Error on YouTube Analytics API



我们正在尝试检索我们自己频道的Youtube分析数据。我们正在使用GTLQueryYouTubeAnalytics。这是一个用Swift编写的iPhone应用程序,使用Xcode 6

这就是我们所拥有的:

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进行了查询,结果运行良好。

感谢您的想法!

作用域没有意义。它应该只包含一个url,例如

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

感谢Dharmesh和Anthony,但作用域不是这样。作用域需要一个"字符串",因此,空格是谷歌所期望的。

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

service=GTLServiceYouTubeAnalytics()

相关内容

  • 没有找到相关文章

最新更新