scopes - OAuth2 会话 - 如何添加多个范围?
问题描述
我正在尝试添加多个范围,但似乎不是在 url 中添加空格,而是添加了 +。我不确定如何确保添加空间。我将范围存储在列表中。
CALLBACK_URL = 'https://localhost/callback'
CLIENT_SECRET = SETTINGS['client_secret']
CLIENT_SCOPES = ['esi-mail.organize_mail.v1 ', 'esi-mail.send_mail.v1 ', 'esi-assets.read_assets.v1 ',
'esi-characters.read_blueprints.v1 ', 'esi-assets.read_corporation_assets.v1 ',
'esi-corporations.read_blueprints.v1 ']
ENDPOINT = 'https://login.eveonline.com/oauth/authorize'
def oauth_session(client_id, client_secret, scopes):
client = OAuth2Session(client_id, client_secret, scope=scopes)
uri, state = client.create_authorization_url(ENDPOINT)
return uri, state
响应将以下内容显示为范围(为简洁起见只是范围):
&scope=esi-mail.organize_mail.v1++esi-mail.send_mail.v1++esi-assets.read_assets.v1++esi-characters.read_blueprints.v1++esi-assets.read_corporation_assets.v1++esi-corporations.read_blueprints.v1+
我是否使用了错误的数据结构,或者我遗漏了什么?
解决方案
原来问题根本不是范围的格式 - 我缺少我正在使用的 API 所需的 redirect_uri。
推荐阅读
- c# - 结合正则表达式模式来替换字符串中的几个字符
- python - 如何使用 PyCharm 在 django 测试中运行 celery
- c - 在 C 中添加两个浮点数组的有效方法?
- javascript - 将数组转换为管道分隔
- c++ - C ++切换以按住左键单击?
- google-chrome-extension - FCM Chrome extension: This method is available in a service worker context. (messaging/only-available-in-sw)
- github - 为什么我的安全 Travis CI 环境变量不起作用?
- javascript - ajax iframe重新加载后图像不显示
- php - How to batch delete with query builder
- android - How can I show some views in return with time intervals and after the last one, open another activiy?