2015-05-14 80 views
2

我想在我的項目實施this LinkedIn library,但似乎我得到一個錯誤,當我試圖呈現LinkedIn屏幕:iOS版LinkedIn API錯誤

授權失敗LinkedIn1:錯誤域= LIALinkedInERROR代碼= 1 「操作無法完成。(LIALinkedInERROR錯誤1)」

你可以找到,我使用here的代碼。

回答

5

可能會將此信息幫助你 -

enter image description here

API Terms of Use

Transition Guide

+0

你能張貼在事業鏈接的網頁? –

+0

[API使用條款] [過渡波導(HTTPS(https://e.linkedin.com/pub/cc?_ri_=X0Gzc2X%3DWQpglLjHJlYQGp4H6czdC9ek7oDLDEeft8eIog8zdPzao4nrlniU2DFVXtpKX%3DWBAABY&_ei_=EmxW4Se0XJN7XVtYKdJ2w_524p36RIyhVwew9s6qdX0nnwTr594SuNaqxS-it555kgN4a5fomiVg10)://e.linkedin。 COM /酒吧/立方厘米?_ri_ = X0Gzc2X%3DWQpglLjHJlYQGp4H6czdC9ek7oDLDEeft8eIog8zdPzao4nrlniU2DFVXtpKX%3DWTTUYY&_ei_ = EmxW4Se0XJN7XVtYKdJ2w_524p36RIyhVwew9s6qdX0nnwTr594SuNaqxS-it555kgN4a5fomiVg10) –

3

自5月12日LinkedIn的API已經改變。從現在開始,任何請求r_contactinfo的應用程序都必須獲得LinkedIn的批准。 This link解釋了這些變化。

我正在使用這個庫,只是必須將權限從@"r_contactinfo"更改爲@"r_basicprofile", @"r_emailaddress"

還請記住在developer.linkedin.com上更改您的應用權限以符合上述要求。

+0

所以我試圖找回的是用戶的技能和代言,你可以指導我我應該做的,是強制要求輸入/申請合作伙伴計劃? –

+0

據我所知,您需要訪問'r_fullprofile'才能獲得技能和認可。這現在需要LinkedIn的批准(爲此[您在此申請](https://developer.linkedin.com/docs/apply-with-linkedin))。 –

+0

謝謝@jack爲你提供幫助,如果可能的話,我會努力成爲合作伙伴計劃的成員,1+支持 –

0

傑克的回答是絕對正確的,Jack's Answer。除此之外,你可以使用這個庫也LinkedinIOSHelper,它很容易使用

+1

作爲提醒,本網站的[自我推銷政策](http://meta.stackexchange。 com/a/59302/253560)要求您在答案中表明您與該項目的關係,儘管它是一個非商業性的開源項目。該指示可以像說「我的圖書館」而不是「Tthis圖書館」那麼簡單。 – josliber

+0

謝謝你的警告。我會更加小心 –

11

我也面臨同樣的問題。我的錯誤是錯誤域= LIALinkedInERROR代碼= 2。 2016年5月26日,LinkedIn再次進行了一些更改,因爲有額外的'#!'被添加到狀態,因此狀態在LIALinkedInAuthorizationViewController類中不匹配。所以解決方法是通過替換字符串或通過檢查包含字符串來刪除這兩個字符。

在這種方法的其他部分- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {

改變`

 NSString *receivedState = [[self extractGetParameter:@"state" fromURLString: url] stringByReplacingOccurrencesOfString:@"#!" withString:@""]; 

`或應用包含字符串,這樣的狀態是完全匹配的。

我知道它是一種奇怪的解決方案,但它爲我做了竅門。希望它也能幫助你。 所有最優秀的

enter image description here

+0

經過數小時的搜索,你給了我解決方案...非常感謝你! –

+0

樂於幫助哥們:) –

+0

今天我注意到同樣的問題。非常感謝您的快速解決:) – sajaz

2

你應該使用:

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=%@"; 

通過:

NSString *accessTokenUrl = @"/oauth/v2/accessToken?grant_type=authorization_code&code=%@&redirect_uri=%@&client_id=%@&client_secret=%@";