[EDIT]只是为了防止你读到这篇文章:我自己已经找到了答案,并在下面发布了答案。:)
我正在使用(优秀的)Python-Flask框架构建一个网站,现在我正在构建与LinkedIn的集成。为此,我使用了我在这里找到的示例,该示例通过返回r_basicprofile数据来工作。
我现在想从linkedin返回更多信息,所以我将scope
从'r_basicprofile'
更改为'r_emailaddress'
。它正确地转到LinkedIn,(除了基本的个人资料信息)它还正确地要求访问电子邮件地址。在输入用户名和密码后,我只会在json中返回基本配置文件。从示例代码中,我唯一不理解的部分是第54行,它从LinkedIn获得了实际信息。功能如下:
@app.route('/login/authorized')
def authorized():
resp = linkedin.authorized_response()
if resp is None:
return 'Access denied: reason=%s error=%s' % (
request.args['error_reason'],
request.args['error_description']
)
session['linkedin_token'] = (resp['access_token'], '')
me = linkedin.get('people/~') # <== HOW can I get this line to return the email address?
return jsonify(me.data)
当前返回的json如下:
{
"firstName": "MyFirstName",
"headline": "Developer",
"lastName": "MyLastName",
"siteStandardProfileRequest": {
"url": "https://www.linkedin.com/profile/view?id=12345678&authType=name&authToken=XXXXXXXXX=api*a1234567*s1234567*"
}
}
有人知道在正确授权我的应用程序获取电子邮件地址后,我如何才能真正获得电子邮件地址吗?
欢迎所有提示!
永不终止!我已经找到了!
我需要使用以下来获取电子邮件地址:
emailAddress = linkedInApp.get('people/~/email-address')
print emailAddress.data
下次我会在发布之前多读一点。无论如何,感谢您的关注!
ps:我只能在两天后接受我自己的答案。所以,如果你来问这个问题是因为你还没有看到被接受的答案,请原谅。如果其他人可以复制粘贴我的答案,我很乐意接受他们的答案,这样这个问题就可以从忘记的问题列表中删除。:)