目前我正在为网站实施linkedin登录。 (关注http://www.raymondcamden.com/2013/04/03/ColdFusion-and-OAuth-Part-2-Facebook/)。我已成功登录,但从linkiedin获取用户数据时出现问题。在LinkedIn中创建应用程序时,没有选项可以获得用户网络连接和其他数据的权限。这是一个截图。
当我尝试使用此网址获取用户连接时
https://api.linkedin.com/v1/people/~/connections?oauth2_access_token=#session.liaccesstoken#
我收到以下错误。
当我尝试获取名字,姓氏和电子邮件时,它只获取名字和姓氏,但不是电子邮件地址。
https://api.linkedin.com/v1/people/~:(id,first-name,last-name,maiden-name,email-address)?oauth2_access_token=#variables.accesstoken
任何有想法的人,为什么它的表现不符合api期望?
答案 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)"