2017-01-13 6 views
0

Spotify Python 라이브러리를 사용하여 Spotify 웹 API에 연결하고 있습니다. Authorization Code Flow을 통해 Spotify의 사용자 계정에 액세스하고 싶습니다. 나는 Python 3.5, Spotipy 2.4.4, Google 크롬 55.0.2883.95 (64 비트) 및 Mac OS Sierra 10.12.2를 사용하고 있습니다.Spotipy - 인증을 위해 로그인 할 수 없음 (인증 코드 흐름)

먼저, the Spotify Developer website에 가서 클라이언트 ID를 얻기 위해 프로그램을 등록했습니다. 클라이언트 비밀 키를 입력하고 리디렉션 URI (https://www.google.com)를 내 화이트리스트에 입력하십시오.

둘째, 나는 터미널에서 환경 변수를 설정 :

export SPOTIPY_CLIENT_ID='my_spotify_client_id' 
export SPOTIPY_CLIENT_SECRET='my_spotify_client_secret' 
export SPOTIPY_REDIRECT_URI='https://www.google.com' 

가 그럼 난 터미널에서 예제 코드 입력 'python3.5의 script.py의 my_username'를 실행 해보십시오. 스크립트는 다음과 같습니다.

이 코드를 실행하면 브라우저의 로그인 화면으로 이동합니다. Spotify의 자격 증명을 입력하여 내 앱에 대한 액세스 권한을 부여합니다. 그러나 마침내 '로그인'(스페인어로 'Iniciar sesión')을 클릭하면 아무 일도 일어나지 않습니다. Facebook 계정으로 로그인을 시도했지만 작동하지 않습니다. 내가 '로그인'을 클릭 할 때마다 잘못된 요청을받는 것 같습니다. 여기에 크롬의 캡처입니다 :

enter image description here

과정은 불완전하기 때문에 URI가 다시 터미널에서 나는 또 다른 잘못된 요청을받을 리디렉션 입력 할 때 :

raise SpotifyOauthError(response.reason) 
spotipy.oauth2.SpotifyOauthError: Bad Request 

내가 컴퓨터를 다시 시작 시도를 , 브라우저 쿠키를 정리하고, 다른 브라우저를 사용하지만 작동하지 않았습니다. I am not the only onethis problem 인 것으로 보입니다. 어쩌면 버그일까요? 'here가는 API 문서를 읽으세요'와 같은 답변을 피하십시오. 고맙습니다.

답변

0

해결되었습니다.

token = util.prompt_for_user_token(username, scope, redirect_uri = 'https://example.com/callback/') 

: util.prompt_for_user_token 호출 할 때 제대로 Spotipy의 설명서에서 제공하는 Authorization Code Flow example code을 실행하기 위해, 나는이 이전에 환경 변수 설정을 완료 한 경우에도, 예제 스크립트의 라인 13에서 리디렉션 URI를 지정 마찬가지로 리디렉션 URI로 https://www.google.com 또는 이와 유사한 웹 주소를 사용하지 마세요. 대신 here으로 'https://example.com/callback/'또는 'http://localhost/'을 사용해보십시오. 로그인 한 후에 리디렉션 된 URL에 단어 코드가 포함되어 있어야 함을 잊지 마십시오.

건배,