Предполагается, что применение FastApi приведено на внешнее API, но я продолжаю получать 401 несанкционированный. Мое первое подозрение заключалось в том, что фактический токен, извлеченный из конечной точки /токена, был пустым или удручен, но это не так. < /P>
from fastapi import FastAPI
import httpx
app = FastAPI()
@app.get('/query')
async def getToken():
async with httpx.AsyncClient(verify=False) as client:
response = await client.get('https://myTokenApi.com/token')
access_token = response.json().get("access_token")
print(response.text)
try:
email = "[email protected]"
response_api = await client.get(f"https://externalApi.com/email/{email}", headers={"Content-Type":"application/json", "Authorization": f"Bearer {access_token}"})
print(response_api.status_code, response_api.text)
print(response_api.raise_for_status())
except httpx.HTTPStatusError as e:
print(e)
return response_api.json()
if __name__ == '__main__':
import uvicorn
uvicorn.run("main:app", host="0.0.0.0", port=3000, log_level="info", reload=True)
< /code>
Я могу правильно проверить его с помощью бессонницы или почтальона, и оба API отвечают просто отлично.
Я также попытался захватить только Access_token из возвращаемого JSON, чтобы убедиться, что я ' M Отправляю правильный фрагмент, но у меня все еще ошибка: < /p>
Повышенное исключение, говоря, что это не действительный JSON, но распечатайте все вещи, это выглядит Действительно: < /p>
returned JSON {'access_token': 'xxxxxxxxxxxxxxxxxxxxxxSomething', 'expires_in': 3600, 'token_type': 'Bearer'}
< /code>
Указанное исключение - < /p>
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Подробнее здесь: https://stackoverflow.com/questions/794 ... n-properly
Жетон носителя не распознается и не передается должным образом ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение