AccessToken

a class based approach AccessTokens
from domolibrary.routes.access_token import (
    AccessToken_Error,
    AccessToken_GenerationError,
    AccessToken_RevokeError,
)
token_auth = dmda.DomoTokenAuth(
    domo_instance=os.environ["DOMO_INSTANCE"],
    domo_access_token=os.environ["DOMO_ACCESS_TOKEN"],
)
await token_auth.who_am_i()

domo_user = await dmdu.DomoUser.get_by_id(user_id = token_auth.user_id, auth = token_auth)
domo_user
DomoUser(id='1893952720', display_name='Jae Wilson1', email_address='jae@datacrew.space', role_id=810756122, department='Business Improvement', title=None, avatar_key='/api/content/v1/avatar/USER/1893952720', phone_number=None, web_landing_page=None, web_mobile_landing_page=None, employee_id=None, employee_number=None, hire_date=None, reports_to=None, publisher_domain=None, subscriber_domain=None, virtual_user_id=None, created_dt=datetime.datetime(2020, 5, 8, 17, 55, 18), last_activity_dt=datetime.datetime(2025, 2, 10, 19, 36, 49, 368000), custom_attributes={}, role=DomoRole(id=810756122, name='super_admin', description='all grants - updated on 2024-11-07', is_system_role=0, is_default_role=None, grants=[], membership_ls=[]), domo_api_clients=None, domo_access_tokens=None)

Access Token


source

DomoAccessToken

 DomoAccessToken (id:int, name:str, owner:Any,
                  expiration_date:datetime.datetime, token:str,
                  auth:domolibrary.client.DomoAuth.DomoAuth,
                  days_till_expiration:int=None)
# generates a new token
token = await DomoAccessToken.generate(
    token_name=f"DL test {dt.date.today()}",
    owner=domo_user,
    duration_in_days=30,
    auth=token_auth,
    debug_api=False,
    return_raw = False
)
print(token)

# deletes token
await token.revoke()
DomoAccessToken(id=189835, name='DL test 2025-02-10', owner=DomoUser(id='1893952720', display_name='Jae Wilson1', email_address='jae@datacrew.space', role_id=810756122, department='Business Improvement', title=None, avatar_key='/api/content/v1/avatar/USER/1893952720', phone_number=None, web_landing_page=None, web_mobile_landing_page=None, employee_id=None, employee_number=None, hire_date=None, reports_to=None, publisher_domain=None, subscriber_domain=None, virtual_user_id=None, created_dt=datetime.datetime(2020, 5, 8, 17, 55, 18), last_activity_dt=datetime.datetime(2025, 2, 10, 19, 36, 49, 368000), custom_attributes={}, role=DomoRole(id=810756122, name='super_admin', description='all grants - updated on 2024-11-07', is_system_role=0, is_default_role=None, grants=[], membership_ls=[]), domo_api_clients=None, domo_access_tokens=None), expiration_date=datetime.datetime(2025, 3, 12, 20, 13, 10), days_till_expiration=29)
ResponseGetData(status=200, response='access token 189835 revoked', is_success=True, parent_class=None)
domo_access_tokenstoken = await DomoAccessToken.generate(
    token_name=f"DL test {dt.date.today()}",
    owner=domo_user,
    duration_in_days=30,
    auth=token_auth,
    debug_api=False,
)

print(domo_access_tokenstoken)

await domo_access_tokenstoken.regenerate()
DomoAccessToken(id=189187, name='DL test 2024-11-28', owner=DomoUser(id='1893952720', display_name='Jae Wilson1', email_address='jae@datacrew.space', role_id=810756122, department='Business Improvement', title=None, avatar_key='/api/content/v1/avatar/USER/1893952720', phone_number=None, web_landing_page=None, web_mobile_landing_page=None, employee_id=None, employee_number=None, hire_date=None, reports_to=None, publisher_domain=None, subscriber_domain=None, virtual_user_id=None, created_dt=datetime.datetime(2020, 5, 8, 17, 55, 18), last_activity_dt=datetime.datetime(2024, 11, 28, 17, 2, 57, 424000), custom_attributes={}, role=DomoRole(id=810756122, name='super_admin', description='all grants - updated on 2024-11-07', is_system_role=0, is_default_role=None, grants=[], membership_ls=[]), domo_api_clients=None, domo_access_tokens=None), expiration_date=1735406778000)
DomoAccessToken(id=189188, name='DL test 2024-11-28', owner=DomoUser(id='1893952720', display_name='Jae Wilson1', email_address='jae@datacrew.space', role_id=810756122, department='Business Improvement', title=None, avatar_key='/api/content/v1/avatar/USER/1893952720', phone_number=None, web_landing_page=None, web_mobile_landing_page=None, employee_id=None, employee_number=None, hire_date=None, reports_to=None, publisher_domain=None, subscriber_domain=None, virtual_user_id=None, created_dt=datetime.datetime(2020, 5, 8, 17, 55, 18), last_activity_dt=datetime.datetime(2024, 11, 28, 17, 2, 57, 424000), custom_attributes={}, role=DomoRole(id=810756122, name='super_admin', description='all grants - updated on 2024-11-07', is_system_role=0, is_default_role=None, grants=[], membership_ls=[]), domo_api_clients=None, domo_access_tokens=None), expiration_date=1740590782000)

source

DomoAccessTokens

 DomoAccessTokens (auth:domolibrary.client.DomoAuth.DomoAuth,
                   domo_access_tokens:List[__main__.DomoAccessToken]=None)
domo_access_tokens = DomoAccessTokens(auth=token_auth)

(await domo_access_tokens.get())[0:5]
[DomoAccessToken(id=156180, name='Governance', owner=DomoUser(id='587894148', display_name='Bryan Van Kampen', email_address='bryan@bvankampen.net', role_id=1, department='BT Partners', title='Executive Analytics', avatar_key='/api/content/v1/avatar/USER/587894148', phone_number='6304647034', web_landing_page=None, web_mobile_landing_page=None, employee_id=None, employee_number=None, hire_date=1588827600000, reports_to='1893952720', publisher_domain=None, subscriber_domain=None, virtual_user_id=None, created_dt=datetime.datetime(2020, 5, 7, 17, 57, 47), last_activity_dt=datetime.datetime(2024, 11, 28, 17, 5, 57, 429000), custom_attributes={}, role=DomoRole(id=1, name='Admin', description='Full access to everything', is_system_role=True, is_default_role=None, grants=[], membership_ls=[]), domo_api_clients=None, domo_access_tokens=None), expiration_date=datetime.datetime(2030, 5, 13, 14, 47, 33)),
 DomoAccessToken(id=159191, name='Java CLI', owner=DomoUser(id='1345408759', display_name='Alexis Lorenz (DataMaven)', email_address='DataMaven42@gmail.com', role_id=1, department='Owner', title='Major Domo Support Specialist', avatar_key='/api/content/v1/avatar/USER/1345408759', phone_number='518-496-4710', web_landing_page=None, web_mobile_landing_page=None, employee_id=None, employee_number=None, hire_date=1590156374000, reports_to='2009312032', publisher_domain=None, subscriber_domain=None, virtual_user_id=None, created_dt=datetime.datetime(2020, 5, 8, 17, 55, 20), last_activity_dt=datetime.datetime(2024, 10, 23, 15, 26, 6, 391000), custom_attributes={}, role=DomoRole(id=1, name='Admin', description='Full access to everything', is_system_role=True, is_default_role=None, grants=[], membership_ls=[]), domo_api_clients=None, domo_access_tokens=None), expiration_date=datetime.datetime(2030, 7, 26, 20, 11, 21)),
 DomoAccessToken(id=163868, name='Governance', owner=DomoUser(id='1345408759', display_name='Alexis Lorenz (DataMaven)', email_address='DataMaven42@gmail.com', role_id=1, department='Owner', title='Major Domo Support Specialist', avatar_key='/api/content/v1/avatar/USER/1345408759', phone_number='518-496-4710', web_landing_page=None, web_mobile_landing_page=None, employee_id=None, employee_number=None, hire_date=1590156374000, reports_to='2009312032', publisher_domain=None, subscriber_domain=None, virtual_user_id=None, created_dt=datetime.datetime(2020, 5, 8, 17, 55, 20), last_activity_dt=datetime.datetime(2024, 10, 23, 15, 26, 6, 391000), custom_attributes={}, role=DomoRole(id=1, name='Admin', description='Full access to everything', is_system_role=True, is_default_role=None, grants=[], membership_ls=[]), domo_api_clients=None, domo_access_tokens=None), expiration_date=datetime.datetime(2030, 11, 4, 21, 6)),
 DomoAccessToken(id=168840, name='Dataset Copy', owner=DomoUser(id='1345408759', display_name='Alexis Lorenz (DataMaven)', email_address='DataMaven42@gmail.com', role_id=1, department='Owner', title='Major Domo Support Specialist', avatar_key='/api/content/v1/avatar/USER/1345408759', phone_number='518-496-4710', web_landing_page=None, web_mobile_landing_page=None, employee_id=None, employee_number=None, hire_date=1590156374000, reports_to='2009312032', publisher_domain=None, subscriber_domain=None, virtual_user_id=None, created_dt=datetime.datetime(2020, 5, 8, 17, 55, 20), last_activity_dt=datetime.datetime(2024, 10, 23, 15, 26, 6, 391000), custom_attributes={}, role=DomoRole(id=1, name='Admin', description='Full access to everything', is_system_role=True, is_default_role=None, grants=[], membership_ls=[]), domo_api_clients=None, domo_access_tokens=None), expiration_date=datetime.datetime(2031, 2, 20, 18, 55, 14)),
 DomoAccessToken(id=182879, name='S3 Export', owner=DomoUser(id='68216396', display_name='Elliott Leonard', email_address='egleonard88@gmail.com', role_id=1, department='Owner', title=None, avatar_key='/api/content/v1/avatar/USER/68216396', phone_number='9702198956', web_landing_page=None, web_mobile_landing_page=None, employee_id=None, employee_number=None, hire_date=None, reports_to='1741757362', publisher_domain=None, subscriber_domain=None, virtual_user_id=None, created_dt=datetime.datetime(2021, 8, 3, 20, 12, 56), last_activity_dt=datetime.datetime(2024, 11, 23, 0, 5, 20, 968000), custom_attributes={}, role=DomoRole(id=1, name='Admin', description='Full access to everything', is_system_role=True, is_default_role=None, grants=[], membership_ls=[]), domo_api_clients=None, domo_access_tokens=None), expiration_date=datetime.datetime(2022, 10, 8, 2, 51, 55))]