Как сделать хорошую функцию обратного вызова с помощью django rest framework
Я хочу написать api с использованием django rest framework, у меня есть некоторые проблемы с моей функцией обратного вызова. Я могу получить код доступа, но как передать его моему приложению? Вот моя функция обратного вызова :
@api_view(['GET'])
def callback(request):
if request.method == 'GET':
code = request.GET.get("code")
encoded_credentials = base64.b64encode(envi.SECRET_ID.encode() + b':' + envi.SECRET_PASS.encode()).decode("utf-8")
token_headers = {
"Authorization": "Basic " + encoded_credentials,
"Content-Type": "application/x-www-form-urlencoded"
}
token_data = {
"grant_type": "authorization_code",
"code": code,
"redirect_uri": "http://127.0.0.1:800/callback"
}
test = "test :" + code
return JsonResponse(test, safe=False)
А это мое представление, где я пытаюсь сделать некоторые вещи (я использую API spotify, с spotipy), мне нужно получить имя пользователя или почту :
@api_view(['GET'])
@permission_classes([permissions.IsAuthenticated])
def test(request):
if request.method == 'GET':
test = "test " + request.user.username
scope = "user-read-private"
sp = getScope(scope)
print(sp.current_user())
urn = 'spotify:artist:3jOstUTkEu2JkjvRdBA5Gu'
sp = spotipy.Spotify(auth_manager=SpotifyOAuth(client_id=envi.SECRET_ID, client_secret=envi.SECRET_PASS, redirect_uri=envi.SPOTIPY_REDIRECT_URI))
artist = sp.artist(urn)
print(artist)
user = sp.current_user()
return JsonResponse(user, safe=False)
def getScope(spotipyScope):
token = SpotifyOAuth(scope=spotipyScope,client_id=envi.SECRET_ID, client_secret=envi.SECRET_PASS, redirect_uri=envi.SPOTIPY_REDIRECT_URI)
spotifyObject = spotipy.Spotify(auth_manager= token)
return spotifyObject
Когда я делаю get на 127.0.0.1:8000/test/, у меня есть новая страница в браузере, из spotify, я подключаю свой аккаунт, а затем, он перенаправляет меня на 127.0.0.1:8000/callback/?code=some_code Как я могу отдать его моей первой странице, ожидающей код, чтобы я мог печатать пользователям материал pls?