2016-02-04 81 views
1

我們正在與linkedIn客戶C SDK,最新版本共享。LinkedIn Objective C分享

使用此代碼:

NSString *url = @"https://api.linkedin.com/v1/people/~/shares"; 

    NSString *payload = @"{\"visibility\":[{\"code\":\"anyone\"}],\"comment\":\"Check out developer.linkedin.com! http://linkd.in/1FC2PyG\"}"; 

    if ([LISDKSessionManager hasValidSession]) { 
     [[LISDKAPIHelper sharedInstance] postRequest:url stringBody:payload success:^(LISDKAPIResponse *response) { 
      // do something with response 
      NSLog(@"Success: %@", response.description); 
      dispatch_async(dispatch_get_main_queue(), ^{ 
       _responseLabel.text = response.description; 
      }); 
     } error:^(LISDKAPIError *apiError) { 
      // do something with error 
      NSLog(@"Error: %@", apiError.description); 
      dispatch_async(dispatch_get_main_queue(), ^{ 
       _responseLabel.text = apiError.description; 
      }); 
     }]; 
    } 

擡離他們的樣品頁漂亮多了。 (不得不更新一下,網站上的URL是用initWithString聲明的,它已經不在了)。

我們已經請求並接收到有效的會話,並根據更新後的規範要求提供w_share許可。

下面是實際的錯誤:

Error Domain=LISDKErrorAPIDomain Code=400 "(null)" UserInfo={LISDKAuthErrorAPIResponse=<LISDKAPIResponse: 0x1288cc100>} 

任何提示,將不勝感激!

+0

我會放一個斷點,看看錯誤的userInfo。有一個關鍵(LISDKAuthErrorAPIResponse),可能有一個有趣的對象與更多的信息。 –

回答

1

根據鏈接式的文檔和API控制檯,XML是默認的,你需要指定要JSON,像這樣:

https://api.linkedin.com/v1/people/~/shares?format=json 

,並可能有一個頭(不知道,如果LISDKAPIHelper)知道如何做那部分。

該文件實在不清楚。我建議你用CharlesProxy之類的東西來捕獲數據包,並且看看發送的內容是否是你期望的。或者,使用相同的代碼,但發送XML而不是JSON。

+0

救了我的一天!非常感謝 – iWheelBuy