==问题摘要==
问题是从我的iOS应用程序打开一个URL,它将证书添加到用户的LinkedIn个人资料中,重定向到LinkedIn应用程序(如果已安装)。 LinkedIn应用程序似乎无法正确处理此URL(或者我需要不同的URL),因此如果在iOS设备上安装了LinkedIn应用程序,我无法将证书链接到配置文件。
'文档'用于添加证书: https://addtoprofile.linkedin.com/cert
==详情==
使用LinkedIn API我已经成功地使用类似的URL将证书链接到配置文件:
https://www.linkedin.com/profile/add
?_ed=<value>
&pfCertificationName=<name>
&pfCertificationUrl=<url>
&source=o
&pfLicenseNo=<licenseNo>
&pfCertStartDate=201510
&trk=<value>
这适用于其他平台,如桌面web和Android就好了。在我们的iOS移动应用程序中,我可以通过app delegate执行此URL:
UIApplication.sharedApplication().openURL(url)
...在移动版Safari中打开网址,并成功提供用户界面,将证书添加到用户的LinkedIn个人资料中(在移动版游记中)。
== LinkedIn App问题==
但是,如果LinkedIn应用程序安装在设备上,则该网址会从移动版Safari重定向到LinkedIn应用程序,并且不会提供用于将证书添加到用户的LinkedIn个人资料的UI。实际上,我带来了LinkedIn应用程序中的一个页面,其中显示“此配置文件不可用&#39;。
我尝试集成LinkedIn SDK以查看是否会有所帮助,但是,它只是将LinkedIn应用程序打开到启动页面,并且不再提供用于链接认证的UI。我已尝试使用网址发布和获取请求。以下是我使用过的一些Swift代码:
let url: NSURL = <url_i_mention_above>
let linkToProfile: Void -> Void = {
LISDKAPIHelper.sharedInstance().postRequest(
url.absoluteString,
stringBody: "",
success: { (response) in
logError("LinkedIn Response: \(response.data)")
},
error: { (error) in
logError("LinkedIn Error: \(error)")
})
}
if !LISDKSessionManager.hasValidSession() {
LISDKSessionManager.createSessionWithAuth([LISDK_BASIC_PROFILE_PERMISSION], state: "", showGoToAppStoreDialog: true, successBlock: { (returnState) in
logError("LinkedIn Auth Success: \(returnState)")
linkToProfile()
}, errorBlock: { (error) in
logError("LinkedIn Auth Error: \(error.localizedDescription)")
})
} else {
linkToProfile()
}
LinkedIn文档在网页按钮之外的证书添加功能中并不存在。 文档:https://addtoprofile.linkedin.com/cert
此外,LinkedIn并未在StackOverflow之外提供支持: https://developer.linkedin.com/support
这些是我可以使用帮助回答的问题:
任何帮助都会很棒。我在这里的少量LinkedIn移动SDK文档中找不到答案: https://developer.linkedin.com/docs/ios-sdk
作为参考,这是关于上述代码的身份验证的部分: https://developer.linkedin.com/docs/ios-sdk-auth