【发布时间】:2012-08-19 11:34:20
【问题描述】:
根据这些文档,我应该请求“电子邮件地址”:https://developer.linkedin.com/documents/profile-fields
我假设这与任何其他用户数据调用一样工作,因此我将通过 oauth 过程来获取正确的令牌,然后执行以下操作(在 Python 中使用 oauth2 库):
In [30]: url='http://api.linkedin.com/v1/people/~:(id,first-name,industry,email-address)'
In [31]: resp, content = client.request(url, 'GET')
In [32]: content
Out[32]: '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n<person>\n <id>t0tImGn-yi</id>\n <first-name>Jeff</first-name>\n <industry>Computer Software</industry>\n</person>\n'
如您所见,电子邮件地址不在回复中。
我还应该注意,我尝试使用以下命令在 requestToken 请求中指定范围:
request_token_url = 'https://api.linkedin.com/uas/oauth/requestToken? scope=r_basic_profile+r_emailaddress'
更新:我在这里找到了其他文档:https://developer.linkedin.com/documents/authentication#toggleview:id=python 这似乎暗示我应该尝试通过访问此处访问电子邮件: resp, content = client.request('http://api.linkedin.com/v1/people/~/email-address', 'GET')
在这种情况下,内容返回“null”
【问题讨论】:
-
您是否使用新的 API 密钥尝试了上述调用?在此范围权限启动之前发布的 API 密钥,不支持请求其他权限,例如电子邮件地址。
-
这似乎是怎么回事。我请求了新密钥,现在我至少在他们的网站上获得了 oauth 的最新身份验证屏幕。我仍然没有收到电子邮件,但我需要检查并确保这次不是我的错。谢谢保罗。
标签: python linkedin socialauth