elytra-ms
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.
Usage
import anyio
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)
Setup
TODO: actually do this section.
Install Package
Requires Python 3.10+.
pip install -U elytra-ms
Make An Application
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.
Get OAuth/Token Data
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.