Как получить доступ к информации о пользователях и ролях в надмножестве с помощью API в Python?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как получить доступ к информации о пользователях и ролях в надмножестве с помощью API в Python?

Сообщение Anonymous »

Код: Выделить всё

import requests
import json

superset_url = 'http://internal-k8s-devsuper-ingressd-819cadde89-967291555.us-west-2.elb.amazonaws.com'

login_url = f'{superset_url}/api/v1/security/login'
csrf_url = f'{superset_url}/api/v1/security/csrf_token'
api_url = f'{superset_url}/api/v1/role'

#session request
session = requests.Session()

myusername = 'Username'
mypassword = 'Password'

#Payload for login request
payload = {
'username': myusername,
'password': mypassword,
'provider' : 'db',
'refresh': True  # Get refresh token along with access token
}

#Headers
headers = {
'Content-Type': 'application/json'
}

#Login
login_res = session.post(login_url, json=payload, headers=headers)
print(f'superset url: {login_res.url}')
#print(f'Login-response: {login_res.text}')
print(login_res.json())
print(f'Login-response: {login_res.text}')
access_token = login_res.json().get("access_token")

headers.update(
{
'Authorization': f'Bearer {access_token}',
'Referer': login_url
}
)

if login_res.status_code != 200:
print(f'login failed: {login_res.status_code} - {login_res.reason}')
else:
print('login successful!')

#Fetch CSRF token
csrf_response = session.get(csrf_url, headers=headers)
#print(f'csrf_status_code: {csrf_response.status_code}, csrf_reason: {csrf_response.reason}')
#print(f'csrf_text: {csrf_response.text}')
#print(f'redirect_history: {csrf_response.history}')
#print(session.cookies)
csrf_response_json = csrf_response.json()
csrf_token = csrf_response_json.get("result")

#API call with CSRF token
headers.update(
{
'X-CSRFToken': csrf_token,
}
)

#exception block if token not fetched
if not csrf_token:
print('Failed to fetch token')
else:
print('CSRF token fetched successfully!')

response = session.get(api_url, headers=headers, allow_redirects = True)
response.text

try:
data = response.json()
print(f'fetching data: {data}')

except ValueError:
print(f'response is not JSON, printing raw response')
print(response.text)
Поскольку я использую Superset версии 4.0.1, я получаю диаграммы, наборы данных, панель мониторинга и т. д. информацию
при использовании api_url = f'{superset_url}/api /v1/chart'
Но при использовании

Код: Выделить всё

api_url = f'{superset_url}/api/v1/role'
или, если уж на то пошло, api_url = f'{superset_url}/api/v1/user' Я получаю ошибку 404.
Почему это так? Использую ли я правильную версию или эта версия (версия 4.0.1) совместима только для получения доступа к диаграммам, наборам данных, информационной панели, а не к информации о пользователе или роли.
Я' m администратор, у меня есть все разрешения в надмножестве и включен

Код: Выделить всё

FAB_ADD_SECURITY_API = True


Подробнее здесь: https://stackoverflow.com/questions/791 ... -in-python
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Доступ к информации о пользователях Instagram из R/Python
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Как я могу получить доступ к информации о пользователях WordPress на субдомене?
    Anonymous » » в форуме Php
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • API входа в Facebook для мобильного возврата информации о пользователях из реальной базы данных
    Anonymous » » в форуме Android
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • API входа в Facebook для мобильного возврата информации о пользователях из реальной базы данных
    Anonymous » » в форуме IOS
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • C# использует личный токен JWT для получения информации о других пользователях
    Anonymous » » в форуме C#
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»