2016-02-04 78 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