Как получить параметры фрагмента URL в drf APIView?

Я создал представление обратного вызова для подключения аккаунта instagram в django, унаследовав класс APIView.

После успешного подключения аккаунта instagram facebook перенаправляет меня на InstagramConnectCallbackView и включает данные ответа в виде фрагмента URL.

url:

http://localhost:8000/v1/instagram-connect/callback/?#access_token=EAAN....&data_access_expiration_time=1650543346&expires_in=6254&state=eyd...

Но я не знаю, как считать фрагменты URL из запроса в метод get.

представление обратного вызова:

class InstagramConnectCallbackView(APIView):
    permission_classes = (permissions.AllowAny,)
    version = settings.FACEBOOK_GRAPH_API_VERSION

    def get(self, request, format=None):
        ....

Я попробовал следующее:

request.get_full_path() # returns `/v1/instagram-connect/callback/`
request.query_params()  # returns `{}`

Любая помощь будет оценена по достоинству.

Вы можете использовать query_params как

request.query_params.get('your_key_name')

Если вы хотите default, то вы можете использовать

self.request.query_params.get('your_key_name', None)

В вашем случае вы можете get значения как

access_token = self.request.query_params.get('access_token', None)
data_access_expiration_time = self.request.query_params.get('data_access_expiration_time', None)
expires_in = self.request.query_params.get('expires_in', None)

and so on ...
Вернуться на верх