A Python Library for various Microsoft APIs, including the Xbox and Bedrock Realms APIs.
Note: this library is a work in progress! This currently only supports the workflow the Realms Playerlist Bot does, but it is planned to be expanded in the future.
import anyio # or asyncio, or trio
import elytra
async def main():
xbox_api = await elytra.XboxAPI.from_file(
"CLIENT_ID", "CLIENT_SECRET", oauth_path="oauth.json"
)
print(await xbox_api.fetch_profile_by_gamertag("SomeGamertag"))
await xbox_api.close()
anyio.run(main)
TODO: actually do this section.
Requires Python 3.10+.
pip install -U elytra-ms
Taken from xbox-webapi-python for now, copyright 2020 OpenXbox under MIT.
Authentication is supported via OAuth2.
- Register a new application in Azure AD.
- Name your app.
- Select "Personal Microsoft accounts only" under supported account types.
- Add http://localhost/auth/callback as a Redirect URI of type "Web."
- Copy your Application (client) ID for later use.
- On the App Page, navigate to "Certificates & secrets."
- Generate a new client secret and save for later use.
In your terminal, run:
elytra-authenticate --client-id CLIENT_ID_FROM_ABOVE --client-secret CLIENT_SECRET_FROM_ABOVE
This will create a file called oauth.json
in the directory this is run in. This file alone works with all APIs currently supported.