与支持v1和v2的guild wars 2 api接口的库
GuildWars2-API-Client的Python项目详细描述
guildwars2 api客户端
Library that interfaces with the Guild Wars 2 API that supports v1 and v2 - https://wiki.guildwars2.com/wiki/API:Main
目录
先决条件
- python v3.4或更高版本
安装
请参阅pypi包here:
pip install GuildWars2-API-Client
pip install git+https://github.com/JuxhinDB/gw2-api-interface.git#egg=gw2api
使用量
基本用法
初始化默认客户端很简单。下列默认值 将自动为您设置:
- API URL:https://api.guildwars2.com
- 版本:2
- lang:en
因此,您可以创建一个基本的客户机,如so:
fromgw2apiimportGuildWars2Clientgw2_client=GuildWars2Client()
访问对象的格式将始终为 {client}.{object}.get()。例如:
gw2_client.build.get()
81583
高级用法
api对象
客户端将自动公开所有可用的api对象 取决于api版本。这可以通过调用dir() 方法,如下所示:
gw2_client=GuildWars2Client(version='v1')dir(gw2_client)
['BASE_URL', 'LANG', 'VERSION', 'api_key', 'base_url', 'build', 'colors', 'continents', 'eventdetails', 'files', 'guilddetails', 'itemdetails', 'items', 'lang', 'mapfloor', 'mapnames', 'maps', 'proxy', 'recipedetails', 'recipes', 'session', 'skindetails', 'skins', 'verify_ssl', 'version', 'worldnames', 'wvwmatchdetails', 'wvwmatches', 'wvwobjectivenames']
所有冗余协议方法(即__repr__)都从 输出,当然可以在 项目。
客户端设置
要检查任何给定点的客户端设置,只需打印 反对。
fromgw2apiimportGuildWars2Clientgw2_client=GuildWars2Client()gw2_client
<GuildWars2Client https://api.guildwars2.com Version: v2 API Key: None Language: en Proxy: None Verify SSL?: True>
代理和ssl
如果在任何给定点上,您需要通过代理传递api请求(例如 fiddler)您可以配置客户端通过said传递所有请求 客户端初始化期间的代理。
fromgw2apiimportGuildWars2Clientgw2_client=GuildWars2Client(proxy={'http':'127.0.0.1:8888','https':'127.0.0.1:8888'},version='v1'})
另外,如果要通过本地代理,则可能需要 将ssl验证设置为false,如下所示:
fromgw2apiimportGuildWars2Clientgw2_client=GuildWars2Client(proxy={'http':'127.0.0.1:8888','https':'127.0.0.1:8888'},version='v1',verify_ssl=False)
已验证的终结点
在某些情况下,某些端点(如Accounts或 Guild相关的终结点可能需要身份验证。这是 通常在客户机初始化时配置,如下所示:
client=GuildWars2Client(api_key='API_KEY_VALUE_HERE')
如果要生成自己的api密钥,请参考以下内容 link。
光标和限制
在制品
示例
下面是一些示例和一行代码,在测试或 调试项目:
使用Fiddler:
fromgw2apiimportGuildWars2Clientclient=GuildWars2Client(proxy={'http':'127.0.0.1:8888','https':'127.0.0.1:8888'},verify_ssl=False,api_key='API_KEY')
apiv2正在搜索公会
client.guildsearch.get(name='Mythical Realms')
0CB3B1A7-4C70-E611-80D3-E4115BE8BBE8
apiv2正在检索公会成员
client.guildidmembers.get('0CB3B1A7-4C70-E611-80D3-E4115BE8BBE8')
{"text": "access restricted to guild leaders"} # :-(