iOS LinkedIn API错误

iOS LinkedIn API错误,ios,oauth,linkedin,Ios,Oauth,Linkedin,我试图在我的项目中实现,但在我尝试呈现LinkedIn屏幕时,似乎出现了一个错误: 授权失败LinkedIn1:错误域=LIALinkedInERROR代码=1 “操作无法完成。(LIALinkedInERROR错误1)。” 您可以找到我正在使用的代码。这些信息可以帮助您吗- 自5月12日以来,Linkedin的API发生了变化。从现在起,任何请求r\u contactinfo的应用程序都必须得到LinkedIn的批准。解释了这些变化 我正在使用此库,只需将权限从@“r\u contacti

我试图在我的项目中实现,但在我尝试呈现LinkedIn屏幕时,似乎出现了一个错误:

授权失败LinkedIn1:错误域=LIALinkedInERROR代码=1 “操作无法完成。(LIALinkedInERROR错误1)。”


您可以找到我正在使用的代码。

这些信息可以帮助您吗-


自5月12日以来,Linkedin的API发生了变化。从现在起,任何请求
r\u contactinfo
的应用程序都必须得到LinkedIn的批准。解释了这些变化

我正在使用此库,只需将权限从
@“r\u contactinfo”
更改为
@“r\u基本配置文件”@“r\u emailaddress”


还记得在developer.linkedin.com上更改你的应用程序权限以符合上述要求。

杰克的回答绝对正确。除此之外,你还可以使用这个库,它很容易使用。我也遇到了同样的问题。我的错误是错误域=LIALinkedInERROR Code=2。2016年5月26日,Linkedin再次进行了一些更改,原因是额外的“#!”已添加到状态,因此,该状态在LIALinkedInAuthorizationViewController类中不匹配。因此,解决方案是通过替换字符串或检查包含字符串来删除这两个字符

在这个方法的else部分中
-(BOOL)webView:(UIWebView*)webView应该与request:(NSURLRequest*)request-navigationType:(UIWebView-navigationType)navigationType{

改为`

      NSString *receivedState = [[self extractGetParameter:@"state" fromURLString: url] stringByReplacingOccurrencesOfString:@"#!" withString:@""];
`或应用包含字符串,以便状态完全匹配

我知道这是一个奇怪的解决方案,但这对我来说是个好办法。希望它也能帮助你。 祝你一切顺利


您必须使用:

code=https://www.linkedin.com/oauth/v2/authorization?
代替:

code=https://www.linkedin.com//uas/oauth2/authorization?
同样在linkedin api中:

LIALinkedInAuthorizationViewController.m
LIALinkedInHttpClient
更改:

NSString *accessTokenUrl = @"/uas/oauth2/accessToken?grant_type=authorization_code&code=%@&redirect_uri=%@&client_id=%@&client_secret=%@";
作者:


你能在cause中发布到该页面的链接吗?[API使用条款]()[transition guide]()因此,我试图检索的是用户技能和背书,您能指导我应该做什么吗?是否必须进入/申请合作伙伴计划?据我所知,您需要访问
r\u fullprofile
,才能获得技能和背书。这现在需要LinkedIn的批准(这一点)。谢谢@jack的帮助,如果可能的话,我将尝试成为合作伙伴计划的成员。1+对于Support作为提醒,本网站要求您在回答中表明您与该项目的关系,即使它是一个非商业性的开源项目。指示可以简单到说“我的库”而不是“这个库”。谢谢你的警告。经过几个小时的搜索,你给了我解决方案,我会更加小心的…非常感谢!很高兴帮助巴迪:)今天我注意到了同样的问题。非常感谢快速修复:)谢谢,它对我也有帮助。我使用。但是我通过pods使用这个库,它需要在github上进行修复和更新。我写了一篇lette给图书馆的作者写信。希望他能很快做到。@KunalGupta工作得很有魅力。但可以得到用户的电子邮件地址
NSString *accessTokenUrl = @"/oauth/v2/accessToken?grant_type=authorization_code&code=%@&redirect_uri=%@&client_id=%@&client_secret=%@";