Ошибка декодирования json ожидает значение: строка 1 столбец 1 (char 0)
Я пытаюсь получить токен аутентификации mpesa, который имеет формат json. Он выдает ошибку в коде декодирования
Ниже приведен мой views.py
import requests
import json
def getAccessToken(request):
consumer_key = ''
consumer_secret = ''
api_URL = 'https://sandbox.safaricom.co.ke/oauth/v1/generate?
grant_type=client_credentials'
r = requests.get(api_URL, auth=HTTPBasicAuth(consumer_key, consumer_secret))
mpesa_access_token = json.loads(r.text)
validated_mpesa_access_token = mpesa_access_token['access_token']
return HttpResponse(validated_mpesa_access_token)
Ниже представлен мой проект urls.py
from django.urls import path, include
urlpatterns = [
path('', include('store.urls')),
]
где store - имя моего приложения
Мой магазин urls.py,
from django.urls import path
from .import views
urlpatterns = [
path('access/token/', views.getAccessToken, name='get_mpesa_access_token'),
]
Когда я обращаюсь к этому url, вместо того, чтобы дать мне нужный токен, он выдает следующую ошибку:
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
August 24, 2021 - 20:45:26
Django version 2.2, using settings 'mvee.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Internal Server Error: /access/token/
Traceback (most recent call last):
File "/home/victor_nzioka/Desktop/projects/django2.2/lib/python3.8/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/home/victor_nzioka/Desktop/projects/django2.2/lib/python3.8/site-packages/django/core/handlers/base.py", line 115, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/home/victor_nzioka/Desktop/projects/django2.2/lib/python3.8/site-packages/django/core/handlers/base.py", line 113, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/victor_nzioka/Desktop/projects/venv/MVEE/src/store/views.py", line 121, in getAccessToken
mpesa_access_token = json.loads(r.text)
File "/home/victor_nzioka/anaconda3/lib/python3.8/json/__init__.py", line 357, in loads
return _default_decoder.decode(s)
File "/home/victor_nzioka/anaconda3/lib/python3.8/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/home/victor_nzioka/anaconda3/lib/python3.8/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
[24/Aug/2021 20:45:31] "GET /access/token/ HTTP/1.1" 500 87044
Я пытался сделать это, но ничего не получилось.
r = requests.get(api_URL, auth=HTTPBasicAuth(consumer_key, consumer_secret)).json()
Как я могу решить эту проблему?