2017-05-30 16 views
2

Spotify iOS SDKはすべてobjective-cであり、今日の時点ではSDKを使用するリクエストにトークンが必要なように見えます。私はこの曲を検索しようとすると、私はこのエラーを取得する:Spotify iOS SDKの認証トークンを設定する

["error": { message = "No token provided"; status = 401; }]

ここに私のappDelegateコードです:

var auth = SPTAuth() 
var window: UIWindow? 


func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 
    //Neccessary Spotify stuff 
    auth.redirectURL = URL(string: "my_redirect_url") 
    auth.sessionUserDefaultsKey = "current session" 

    FIRApp.configure() 

    window = UIWindow(frame: UIScreen.main.bounds) 
    window?.makeKeyAndVisible() 
    window?.rootViewController = CustomTabBarController() 

    return true 
} 

// 1 
func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool { 
    // 2- check if app can handle redirect URL 
    if auth.canHandle(auth.redirectURL) { 
     // 3 - handle callback in closure 
     auth.handleAuthCallback(withTriggeredAuthURL: url, callback: { (error, session) in 
      // 4- handle error 
      if error != nil { 
       print("error!") 
      } 
      // 5- Add session to User Defaults 
      let userDefaults = UserDefaults.standard 
      let sessionData = NSKeyedArchiver.archivedData(withRootObject: session as Any) 
      userDefaults.set(sessionData, forKey: "SpotifySession") 
      userDefaults.synchronize() 
      // 6 - Tell notification center login is successful 
      NotificationCenter.default.post(name: Notification.Name(rawValue: "loginSuccessfull"), object: nil) 
     }) 
     return true 
    } 
    return false 
} 

私はスウィフトにトークンを設定するにはどうすればよいですか?すべてのセットアップリダイレクトURL &クライアントIDの

答えて

0
var auth = SPTAuth.defaultInstance()! 
var session:SPTSession! 

まず:

  let redirectURL = "xyz://" // put your redirect URL here 
      auth.redirectURL  = URL(string: redirectURL) 
      auth.clientID  = kClientId 
      auth.requestedScopes = [SPTAuthStreamingScope, SPTAuthPlaylistReadPrivateScope, SPTAuthPlaylistModifyPublicScope, SPTAuthPlaylistModifyPrivateScope] 
      loginUrl = auth.spotifyWebAuthenticationURL() 

次に使用するログイン方法:

 if UIApplication.shared.openURL(loginUrl!) { 

      if auth.canHandle(auth.redirectURL) { 
       // To do - build in error handling 
      } 
     } 

あなたが同じのために任意のより多くの助けが必要な場合は私に知らせてください。 Swiftで設定し、現在のアプリケーションで使用しています。

関連する問題