使用Windows Live/Xbox Live进行身份验证并使用其API的库
xbox-webapi的Python项目详细描述
Xbox WebAPI
Xbox WebAPI是一个通过您的Microsoft帐户向Xbox Live进行身份验证的Python库,并提供与Xbox相关的Web API。
支持通过凭据或令牌进行身份验证,也可以使用双因素身份验证(2fa)。
依赖性
- python>;=3.5
- 库:请求、devjson、appdirs、urwid
如何使用
安装:
pip install xbox-webapi
身份验证:
# Token save location: If tokenfile is not provided via cmdline, fallback # of <appdirs.user_data_dir>/tokens.json is used as save-location # # Specifically: # Windows: C:\\Users\\<username>\\AppData\\Local\\OpenXbox\\xbox # Mac OSX: /Users/<username>/Library/Application Support/xbox/tokens.json # Linux: /home/<username>/.local/share/xbox # # For more information, see: https://pypi.org/project/appdirs and module: xbox.webapi.scripts.constants xbox-authenticate --tokens tokens.json --email no@live.com --password abc123 # NOTE: If no credentials are provided via cmdline, they are requested from stdin xbox-authenticate --tokens tokens.json # If you have a shell compatible with ncurses, you can use the Terminal UI app xbox-auth-ui --tokens tokens.json
回退身份验证:
# In case this authentication flow breaks or you do not trust the code with your credentials.. # Open the following URL in your web-browser and authenticate https://login.live.com/oauth20_authorize.srf?display=touch&scope=service%3A%3Auser.auth.xboxlive.com%3A%3AMBI_SSL&redirect_uri=https%3A%2F%2Flogin.live.com%2Foauth20_desktop.srf&locale=en&response_type=token&client_id=0000000048093EE3 # Once you finished auth and reached a blank page, copy the redirect url from your browser address-field # Execute the script with supplied redirect url xbox-auth-via-browser 'https://login.live.com/oauth20_desktop.srf?...access_token=...&refresh_token=...'
API用法:
# Search Xbox One Catalog xbox-searchlive --tokens tokens.json "Some game title" # Search Xbox 360 Catalog xbox-searchlive --tokens tokens.json -l "Some game title"
屏幕截图
在这里您可以看到auth tui(文本用户界面):
已知问题
- 有许多缺少的XBL终结点
贡献
- 报告错误/建议功能
- 添加/更新文档
- 添加其他Xbox Live终结点
免责声明
Xbox、Xbox One、SmartGlass和Xbox Live是Microsoft Corporation的商标。team openxbox绝不会得到微软公司或任何相关子公司、徽标或商标的认可或附属。
历史记录
1.1.7(2018-11-10)
- 修复WindowsLive身份验证响应的分析
1.1.6(2018-09-30)
- 考虑(xsts)userinfo的(user-)权限(可选)
- 修复:始终为@property authenticationmanager.authenticated返回bool
1.1.5(2018-08-11)
- 使authenticationmanager中的属性authenticated检查令牌有效性
- 如果以前缓存过cookies,请提前退出Windows Live Auth
1.1.4(2018-07-01)
- 为合作伙伴服务身份验证实现便利功能
1.1.3(2018-06-16)
- 在错误的帐户密码下正常失败
- 修复“valueerror:tui:按下意外按钮:取消”
- provider.lists:更正标题,获取列表有效
- titlehub:支持按xuid获取标题历史记录
1.1.2(2018-05-06)
-
固定Appdir(又名Apdir)。令牌保存位置)在Windows上创建
1.1.1(2018-05-03)
- 删除了python dateutil依赖项
- 通过浏览器回退脚本添加身份验证
- 小变动
1.1.0(2018-04-17)
- auth:更新了2FA身份验证以满足当前的Windows Live身份验证流
- auth:重新设计了2FA身份验证过程
- auth:实现的xbox auth ui脚本(xbox.webapi.scripts.tui:urwid终端ui)
- auth:对于密码屏蔽,使用getpass代替或raw input()
- 脚本:如果没有通过cmdline参数提供的令牌文件,则默认为appdirs.user_data_dir(请参阅自述文件)
1.0.9(2018-03-30)
- 扩展gameclips提供标题ID筛选和保存的剪辑的提供商
- 添加屏幕截图提供商
- 添加titlehub提供程序
1.0.8(2018-03-29)
- 添加了userstats端点
- 更新了自述文件
1.0.7(2018-03-28)
- 支持通过stdin提供身份验证凭据
- 为所有端点添加测试
- 添加了验证测试
- 添加了qcs端点
- 添加了配置文件结束点
- 添加了成就终结点
- 添加了usersearch端点
- 添加了gameclips端点
- 添加了people端点
- 添加了presence端点
- 添加了消息端点
- 已删除gamerpics终结点
1.0.3-1.0.6(2018-03-17)
- 元数据更改
1.0.2(2018-03-17)
- 更多元数据更改,现在可以在pypi上渲染了
1.0.1(2018-03-17)
- 元数据更改
1.0.0(2018-03-17)
- pypi上的第一个版本。