使用 SUAP API 密钥进行身份验证,并将格式化的学生成绩单返回给终端

Authentication with SUAP API Keys and return the formatted student report card to the terminal

提问人:JOÃO AUGUSTO VENANCIO DA SILVA 提问时间:11/16/2023 最后编辑:Brian Tompsett - 汤莱恩JOÃO AUGUSTO VENANCIO DA SILVA 更新时间:11/16/2023 访问量:12

问:

我的问题本身是创建一个客户端,该客户端使用 SUAP API 密钥 (https://suap.ifrn.edu.br/api/) 进行身份验证并返回在终端中格式化的学生成绩单。但是在这个全局上下文之外,并转到我问题的特定点:在 vs code 终端中,我的程序要求输入 SUAP 用户名和密码 (suap.ifrn.edu.br),但是当我同时输入两者时,它给出了以下错误:

PS C:\Users\20201181110024> & “C:/Program Files/Python311/python.exe” c:/Users/20201181110024/Downloads/suap.py user: 20201181110024
密码: “{'refresh': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoicmVmcmVzaCIsImV4cCI6MTcwMDIzMTkwOSwiaWF0IjoxNzAwMTQ1NTA5LCJqdGkiOiJmOTU5ZWE4YzJjMmI 0MDk1OWFjYTQ4Njg1MGFmOWZhMiIsInVzZXJfaWQiOjI5MTEwNX0.3oPrSwQSF80fYh7jBjMYWdxVov9GSVi-mzazSKZZAW4', 'access':
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzAwMTQ1ODA5LCJpYXQiOjE3MDAxNDU1MDksImp0aSI6Ijk3MWY2ZTA5NDczODRjNGNhNTQ3MDI3ODAzMGI5MGU4IiwidXNlcl9pZCI6MjkxMTA1 fQ.nvVZzhpWka3vgqllwi22lZ0PSxujt0hwKikJ5jzct-A'} 学生信息: {'id': 337471, 'matricula': '20201181110024', 'usual_name': '若昂·奥古斯托', 'cpf': '707. 428.894-24', 'rg': '无 - / - ', 'filiacao' : [无, 无], 'date_birth': '2005-07-14', 'naturality': '-', 'tipo_sanguineo': '无', 'email': '[email protected]. br', 'url_foto_75x100': '/media/pessoas/75x100/267886.dFIkCrdRBdyb.jpg', 'url_foto_150x200': '/media/pessoas/150x200/267886.dFIkCrdRBdyb.jpg', 'tipo_vinculo': 'Aluno', 'link': {'matricula': '20201181110024', 'name': 'JOÃOAUGUSTO VENANCIO DA SILVA', 'course': '互联网计算中级技术员', 'campus': 'SPP', 'situacao' : '已注册', 'cota_sistec': '', 'cota_mec': '', 'situacao_sistemica': '已注册 SUAP', 'matricula_regular': False, 'linha_pesquisa': 无, 'curriculo_lattes': 'https:// wwws.cnpq.br/cvlattesweb/PKG_MENU.menu?f_cod=3FE036E2BA9D1577D4A555FAFEC594AF'}} PS C:\用户\20201181110024>”

Meu código é este:

import requests
from getpass import getpass

api_url = "https://suap.ifrn.edu.br/api/"

user = input("user: ")
password = getpass()

data = {"username": user, "password": password}

response = requests.post(api_url + "v2/autenticacao/token/", json=data)

if response.status_code == 200:
    token = response.json().get("access")
    print(response.json())

    headers = {
        "Authorization": f'Bearer {token}'
    }

    response_meus_dados = requests.get(api_url + "v2/minhas-informacoes/meus-dados/", headers=headers)

    if response_meus_dados.status_code == 200:
        print("Informações do Aluno:")
        print(response_meus_dados.json())
    else:
        print(f"Erro ao obter informações. Código de status: {response_meus_dados.status_code}")
else:
    print("Erro na autenticação. Verifique seu usuário e senha.")
Python 终端

评论


答: 暂无答案