【发布时间】:2018-07-24 00:05:19
【问题描述】:
我关注了这个堆栈溢出问题:create playlist in Youtube api
但是,当我提出请求时,它会给出未经授权的错误。 我将范围设置为 kGTLRAuthScopeYouTubeYoutubepartner 并尝试了 kGTLRAuthScopeYouTube。我也迅速实施了这个项目,但我觉得我的实施是正确的。不过我没有客户机密:
let clientID = "my_client_id"
if let loginvc = GTMOAuth2ViewControllerTouch(scope: kGTLRAuthScopeYouTube, clientID: clientID, clientSecret: "", keychainItemName: nil, completionHandler: { (vc, auth, error) in
vc?.dismiss(animated: true, completion: nil)
if error == nil {
self.youtubeService.authorizer = auth
self.createYoutubePlaylistWithTitle("Name", { (id) in
print(id)
})
} else {
print(error!.localizedDescription)
}
}) {
self.present(loginvc, animated: true, completion: nil)
}
这是 createYoutubePlaylistWithTitle 函数:
func createYoutubePlaylistWithTitle(_ title : String,_ completion : @escaping (String) -> Void ) {
let playlist = GTLRYouTube_Playlist()
let playlistSnippet = GTLRYouTube_PlaylistSnippet()
playlistSnippet.title = title
let playlistStatus = GTLRYouTube_PlaylistStatus()
playlistStatus.privacyStatus = "private"
playlist.snippet = playlistSnippet
playlist.status = playlistStatus
let query = GTLRYouTubeQuery_PlaylistsInsert.query(withObject: playlist, part: "snippet,status")
youtubeService.executeQuery(query) { (ticket, id, error) in
if error == nil {
//success
if let playlistOut = id as? GTLRYouTube_Playlist {
let playlistid = playlistOut.identifier!
completion(playlistid)
}
} else {
print(error!.localizedDescription)
}
}
}
【问题讨论】:
-
请查看Youtube iOS quickstart,因为它讨论了您在调用 Youtube API 之前要做的设置。
-
我查看了快速入门指南,即使在尝试插入新播放列表时使用该指南,即使我有正确的范围,我仍然未经授权。有什么帮助吗?
标签: ios swift youtube youtube-api youtube-data-api