     func searchChannel(_ query: String?, pageToken: String?) -> SignalProducer<(items: [Channel], nextPageToken: String?), NSError> {
         return SignalProducer { (observer, disposable) in
             let url = "https://www.googleapis.com/youtube/v3/search"
-            var params: [String: Any] = ["key": self.API_KEY as AnyObject,
-                                        "part": "snippet" as AnyObject,
-                                  "maxResults": 10 as AnyObject,
-                                  "regionCode": "JP" as AnyObject,
-                                        "type": "channel" as AnyObject,
-                                 "channelType": "any" as AnyObject]
+            var params: [String: Any] = ["part": "snippet",
+                                   "maxResults": 10,
+                                   "regionCode": "JP",
+                                         "type": "channel",
+                                  "channelType": "any"]
             if let token = pageToken {
                 params["pageToken"] = token as Any?
             }
             if let q = query {
                 params["q"] = q as Any?
+            }
+            if !YouTubeAPIClient.isLoggedIn {
+                params["key"] = self.API_KEY
             }
             let request = self.request(url, method: .get, parameters: params, encoding: URLEncoding.default) { response in
                 if let e = response.result.error {

import SwiftyJSON
import NXOAuth2Client
import MusicFeeder

extension XCDYouTubeClient {
    func fetchVideo(_ identifier: String) -> SignalProducer<XCDYouTubeVideo, NSError> {

            let url = "https://www.googleapis.com/youtube/v3/guideCategories"
            var params: [String: Any]
            if let token = pageToken {
                params = ["part": "snippet", "maxResults": 10, "regionCode": "JP", "pageToken": token]
            } else {
                params = ["part": "snippet", "maxResults": 10, "regionCode": "JP"]
            }
            if !YouTubeAPIClient.isLoggedIn {
                params["key"] = self.API_KEY
            }

            let request = self.request(url, method: .get, parameters: params, encoding: URLEncoding.default) { response in
