用于访问Eve Swagger界面的Django应用程序。

adarnauth-esi的Python项目详细描述


#adarnauth esi
django应用程序,用于访问eve swagger界面。

将"esi"添加到"已安装的应用程序"设置:

"已安装的应用程序+="esi`

2。在项目的url中包含esi urlconf:

`url(r'^sso/',include('esi.url',namespace='esi'),`

>3。向[eve developers site]注册应用程序(https://developers.eveonline.com/applications)

否则,"仅验证"就足够了。
将"回调url"设置为"https://example.com/sso/callback"

4。将SSO客户端设置添加到项目设置中:

`esi_sso_client_id="my client id"`

`esi_sso_client_secret="my client secret"`

`esi_sso_callback_url="https://example.com/sso/callback"`


<5。运行"python manage.py migrate"创建模型。

令牌):



这将提示用户从当前令牌中选择一个令牌,或者如果不存在令牌,则通过SSO创建一个新令牌。

若要指定作用域,添加名称列表或以空格分隔的字符串:

@token_required(scopes=['esi-location.read_ship_type.v1','esi location.read_location.v1'])
@token required(scopes='esi-location.read_ship_type.v1 esi location.read_location.v1')

以需要新的令牌,例如,对于登录,添加"new"参数:

@token\u required(new=true)

改为用"tokens\u required"装饰符包装并接受"tokens"参数:

@tokens\u required(scopes='esi-location.read\u ship\u type.v1')
def my\u view(request,令牌):



这将跳过令牌选择的提示,而是将该职责传递给视图。令牌作为queryset提供。

调用工厂:

from esi.clients import esi_client_factory
client=esi_client_factory()

添加令牌参数:

client=esi_client_factory(token=my_token)

或者,如果不能更新,则引发一个"tokenexpirederror"。

esi router将其映射到正确的路由,即"legacy"、"latest"或"dev"。

客户端初始化以基本的swagger规范开始。默认情况下,这是在设置中定义的版本("ESI API版本"),但是可以用工厂的额外参数覆盖:

client=token.get_esi_client(version='v4')

只有具有指定版本号的资源才可用。例如,如果指定'v4',但'universe'没有'v4'版本,则该特定客户端将无法使用该版本。只有"legacy"、"latest"和"dev"可以保证所有资源都可用。

工厂的所有参数:

client=token.get_esi_client(universe='v1',character='v3')

[eve swagger interface browser]上提供了可用资源的列表(https://esi.tech.ccp.is)。如果指定版本的资源不可用,将引发"attributeerror"。

此版本的资源替换最初初始化的资源。如果请求的基本版本没有指定的资源,则将添加该资源。

请注意,每个资源只有一个旧版本可通过旧路由使用。关注[部署时间表](https://github.com/ccpcames/esi-issues/projects/2/)以获取资源更新。


给定版本。这可以通过将[versioned latest spec]的副本(https://esi.tech.ccp.is//u latest/swagger.json)随应用程序一起发送来解决。**这是部署的首选方法。**

当前文件的目录如下:

c=esi_client_factory(spec_file=os.path.join(os.path.dirname(os.path.abspath(u file_uu)),'swagger.json'))

=esi_client_factory(datasource='tanquirity')


可用的数据源是"tanquirity"和"singularity"。


默认值为300。
-`cleanu_token`检查所有的'token'模型,如果过期,则尝试刷新。如果过期且无法刷新或无法刷新,则删除模型。

若要使用Celerybeat自动安排这些时间,将它们添加到您的设置中。py"cellerybeat_schedule"dict like so:


从芹菜中。schedules导入crontab


"esi_cleanup_callbackredirect":{
"task":"esi.tasks.cleanup_callbackredirect",
"调度":crontab(hour='*/4'),
},
"esi清理令牌":{
"任务":"esi.tasks.cleanup令牌",
"调度":crontab(day='*/1'),

}

如果你的应用不需要后台令牌验证,最好不要安排令牌清理任务,当使用"@token_required"装饰符或在查询结束时添加".require_valid()"时,将依赖于验证检查。通过defalt,adarnauth esi将处理宁静群集上的所有操作。要在singularity上操作,需要更改两个设置:
-`esi_oauth_url`应设置为`https://sisilogin.testeveonline.com/oauth`
-`esi_api_datasource`应设置为`singularity`

请注意,令牌不能在服务器之间传输。在切换到奇点之前,数据库中的任何标记都将在下次刷新时被删除。



欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
基于Java的遗传算法确定最优交易行为   java改型2.0无法解析Json嵌套对象   java在数组中查找最大额定值(数字),我们不能跳过数组中的一个或多个连续数字   java在spring boot中从命令行设置活动概要文件和配置位置   JavaAxis2:传输错误:404错误:未找到帮助理解其真正含义   java使用Play2WAR和Play2.2.1   java理解函数运算符:Lambda   在代理java后面读取https网页数据   java应用程序。Android单元测试中的类mock   java为什么onClick布局XML引用的方法需要是公共的?   从SMTLIB2文件解析的java显示声明   java重写给定的类以使用组合而不是继承   HTMLUnit和Java:NoSuchMethodException:createDefaultSSLContext()   java如何使用Spring和ThymeLeaf从前端正确更新后端中的对象?   来自init()Java的方法调用   使用cellrendering从数据库向JTable动态添加数据后,java无法使用JTable执行排序操作   java Android Studio 1.5.1。渲染错误(浮动操作按钮)   web服务如何使用UsenameToken和PasswordDigest为JAVA中的SOAP客户端附加wsse安全头   java为什么要在局部变量和myApplicationClass中同时删除“ArrayList.remove”?