使用 django 访问用户当前的公司 social-auth
Accessing user's current company with django social-auth
我已经在我的网站上成功设置了 Linkedin 社交身份验证
django-socialauth。我能够检索顶级配置文件字段,例如标题,没问题,在我的settings.py中设置如下:
LINKEDIN_EXTRA_FIELD_SELECTORS = [
'email-address',
'headline',
'industry',
'location',
'picture-url',
'specialties',
'positions',
'relation-to-viewer',
'skills',
'public-profile-url',
]
LINKEDIN_EXTRA_DATA = [('id', 'id'),
('first-name', 'first_name'),
('last-name', 'last_name'),] + [
(field, field.replace('-', '_'), True)
for field in LINKEDIN_EXTRA_FIELD_SELECTORS
]
不幸的是,我对如何从这种界面使用 Linkedin 字段选择器语法访问 "lower levels" 感到困惑。
例如,从这里开始:https://developer.linkedin.com/forum/how-get-api-current-company-position-using-parameter-current,可以使用语法访问用户当前的公司:
positions:(is-current,company:(name))
如何将此选择器包含在上面的 settings.py 变量中?像上面那样天真地插入选择器会导致 KeyErrors 或 Null 值。
想通了。从链接中检索字典 "details" 后,您可以检索当前公司:
current_companies = [position['company']['name'] for position in details['positions']['position'] if position['is-current']=='true']
我已经在我的网站上成功设置了 Linkedin 社交身份验证 django-socialauth。我能够检索顶级配置文件字段,例如标题,没问题,在我的settings.py中设置如下:
LINKEDIN_EXTRA_FIELD_SELECTORS = [
'email-address',
'headline',
'industry',
'location',
'picture-url',
'specialties',
'positions',
'relation-to-viewer',
'skills',
'public-profile-url',
]
LINKEDIN_EXTRA_DATA = [('id', 'id'),
('first-name', 'first_name'),
('last-name', 'last_name'),] + [
(field, field.replace('-', '_'), True)
for field in LINKEDIN_EXTRA_FIELD_SELECTORS
]
不幸的是,我对如何从这种界面使用 Linkedin 字段选择器语法访问 "lower levels" 感到困惑。
例如,从这里开始:https://developer.linkedin.com/forum/how-get-api-current-company-position-using-parameter-current,可以使用语法访问用户当前的公司:
positions:(is-current,company:(name))
如何将此选择器包含在上面的 settings.py 变量中?像上面那样天真地插入选择器会导致 KeyErrors 或 Null 值。
想通了。从链接中检索字典 "details" 后,您可以检索当前公司:
current_companies = [position['company']['name'] for position in details['positions']['position'] if position['is-current']=='true']