2013-10-27 7 views
0

내 문제는 올바르지 않은 로그인 자격 증명을 입력 할 수 있지만 여전히 성공적으로 로그인 할 수 있다는 것입니다. 내 코드는 다음과 같습니다. 난 그냥 내 사용자 이름과 암호를 키보드에서 슬램하더라도, 그것은 아직도 내가 성공적으로 로그인했음을 알려줍니다.Windows에서 libspotify를 사용하여 spotify 계정에 로그인 하시겠습니까?

void CreateSession() 
{ 
    memset(&config, 0, sizeof(config)); 

    config.api_version = SPOTIFY_API_VERSION; 
    config.cache_location = "tmp"; 
    config.settings_location = "tmp"; 
    config.application_key = g_appkey; 
    config.application_key_size = g_appkey_size; 
    config.user_agent = "SpotifyTest"; 

    error = sp_session_create(&config, &session); 
    qDebug() << "1"; 
    if (SP_ERROR_OK != error) 
    { 
     qDebug() << "failed to create session: " << sp_error_message(error); 
     return; 
    } 
} 

void Login(char* username, char* password) 
{ 

    char *blob = NULL; 
    if(session == NULL) 
    { 
     CreateSession(); 
     qDebug() << "Session Created"; 
    } 
    error = sp_session_login(session, username, password, 1, blob); 
    if (SP_ERROR_OK != error) 
    { 
     qDebug() << "failed to log in to Spotify: " << sp_error_message(error); 
     sp_session_release(session); 
    } 
    else 
    { 
     qDebug() << "Successful Login"; 
     QString user_name = sp_session_user_name(session); 
     qDebug() << user_name; 
    } 
} 

답변

2

sp_session_login()의 반환 값은 당신이 함수에 유효한 입력을 전송 여부를 알려줍니다.

실제로 로그인이 성공하면, 당신은 sp_session_callbacks에 특별히 logged_in, logged_outconnection_error을 콜백을 구현해야 이야기합니다.

libspotify와 함께 제공되는 샘플 프로젝트에는이 구현이 포함되어 있습니다.