如何使用oauth2从linkedin获取电子邮件,用户连接?

时间:2016-01-26 20:36:07

标签: coldfusion linkedin coldfusion-10 linkedin-api

目前我正在为网站实施linkedin登录。 (关注http://www.raymondcamden.com/2013/04/03/ColdFusion-and-OAuth-Part-2-Facebook/)。我已成功登录,但从linkiedin获取用户数据时出现问题。在LinkedIn中创建应用程序时,没有选项可以获得用户网络连接和其他数据的权限。这是一个截图。

enter image description here

当我尝试使用此网址获取用户连接时

https://api.linkedin.com/v1/people/~/connections?oauth2_access_token=#session.liaccesstoken# 我收到以下错误。

enter image description here

当我尝试获取名字,姓氏和电子邮件时,它只获取名字和姓氏,但不是电子邮件地址。

https://api.linkedin.com/v1/people/~:(id,first-name,last-name,maiden-name,email-address)?oauth2_access_token=#variables.accesstoken

enter image description here

任何有想法的人,为什么它的表现不符合api期望?

2 个答案:

答案 0 :(得分:1)

我已经使用 APPLE的SWIFT 语言回购来进行Linkedin登录和用户电子邮件提取。它使用WebView Controller启动linkedIn Login页面。只需拖放项目中的WebViewController,只需在需要时按下Controller即可。 Here是网址

答案 1 :(得分:0)

从linkedIn获取电子邮件需要在authorizationURL中设置范围,您需要将r_emailaddress添加为

    let responseType = "code
    let redirectURL = "https://com.appcoda.linkedin.oauth/oauth".stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.alphanumericCharacterSet())!
    let state = "linkedin\(Int(NSDate().timeIntervalSince1970))"
    let scope = "r_emailaddress"
    var authorizationURL = "\(authorizationEndPoint)?"
    authorizationURL += "response_type=\(responseType)&"
    authorizationURL += "client_id=\(linkedInKey)&"
    authorizationURL += "redirect_uri=\(redirectURL)&"
    authorizationURL += "state=\(state)&"
    authorizationURL += "scope=\(scope)"