【问题标题】:LinkedIn Objective C sharingLinkedIn Objective C 分享
【发布时间】:2017-01-27 18:36:19
【问题描述】:

我们正在努力与linkedIn 目标C SDK 共享最新版本。

使用此代码:

 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>}

任何提示将不胜感激!

【问题讨论】:

  • 我会设置一个断点并查看错误的用户信息。那里有一个键 (LISDKAuthErrorAPIResponse),它可能有一个有趣的对象,其中包含更多信息。

标签: objective-c linkedin sharing


【解决方案1】:

根据Linked-in的文档和API Console,XML是默认的,你需要指定你想要的JSON,像这样:

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

并且可能带有标头(不确定 LISDKAPIHelper 是否知道如何执行该部分。

文档确实不清楚。我建议您使用 CharlesProxy 之类的工具来捕获数据包,看看发送的内容是否符合您的预期。或者,使用相同的代码,但发送 XML 而不是 JSON。

【讨论】:

    猜你喜欢
    • 2017-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-04
    • 2018-12-25
    • 1970-01-01
    • 1970-01-01
    • 2015-12-19
    相关资源
    最近更新 更多