如果 iOS 上安装了 LinkedIn 应用程序,则无法通过 LinkedIn API 将证书添加到 LinkedIn 个人资料

问题描述 投票:0回答:1

==问题总结==

问题是,从我的 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>

这适用于桌面网络和 Android 等其他平台。在我们的 iOS 移动应用程序中,我可以通过应用程序委托执行此 url:

UIApplication.sharedApplication().openURL(url)

...在 mobile safari 中打开 URL 并成功提供 UI 以将证书添加到用户的 LinkedIn 个人资料(在 mobile safari 中)。

== LinkedIn 应用程序问题 ==

但是,如果设备上安装了 LinkedIn 应用程序,则 URL 将从 mobile safari 重定向到 LinkedIn 应用程序,并且不提供用于将证书添加到用户的 LinkedIn 个人资料的 UI。实际上,我被带到 LinkedIn 应用程序中的一个页面,上面写着“此个人资料不可用”。

我尝试集成 LinkedIn SDK 以查看是否有帮助,但是,它只是将 LinkedIn 应用程序打开到启动页面,并且没有提供进一步的 UI 来链接认证。我已经尝试过使用 URL 发送请求和获取请求。这是我使用过的一些 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 文档实际上并不存在于 Web 按钮之外的证书添加功能中。 文档:https://addtoprofile.linkedin.com/cert

此外,LinkedIn 不提供 StackOverflow 之外的支持: https://developer.linkedin.com/support

这些是我可以帮助回答的问题:

  • 是否有人成功将证书添加到 LinkedIn 个人资料中 iOS 通过应用程序?
  • 有人能发现我的网址或请求有什么问题吗?
  • LinkedIn 是否支持通过其应用程序向个人资料添加证书?

任何帮助都会很棒。我在此处的少量 LinkedIn 移动 SDK 文档中没有找到答案: https://developer.linkedin.com/docs/ios-sdk

作为参考,这是上述代码的身份验证部分: https://developer.linkedin.com/docs/ios-sdk-auth

ios swift sdk linkedin-api
1个回答
0
投票

我有类似的问题,相同的链接

  • 100% 可以在桌面浏览器上运行。
  • 如果未安装 LinkedIn 应用程序,则无法在移动浏览器上运行
  • 当为选定用户安装应用程序时,适用于 iOS 和 Android。

我所说的选择用户的意思是,假设我以 X 身份登录,链接会定向到应用程序上的“添加证书”页面,但在同一部手机上,如果我以 Y 身份登录,它无法重定向,并且我得到“找不到页面”错误。

两个用户是相同的。用于测试的设备是相同的。 (iOS 17 与 LinkedIn 应用程序版本相同)。

联系 LinkedIn 支持没有任何帮助。任何解决方案表示赞赏。

© www.soinside.com 2019 - 2024. All rights reserved.