无法在iphone上更新linkedIn上的状态

时间:2012-10-07 12:52:19

标签: iphone objective-c cocoa-touch linkedin

我正在使用以下代码

 - (void)linkedInEngineAccessToken:(RDLinkedInEngine *)engine setAccessToken:(OAToken *)token {
        if( token ) {
            [token rd_storeInUserDefaultsWithServiceProviderName:@"LinkedIn" prefix:@"My app name"];
        }
        else {
            [OAToken rd_clearUserDefaultsUsingServiceProviderName:@"LinkedIn" prefix:@"My App name"];

        }
    }

    - (OAToken *)linkedInEngineAccessToken:(RDLinkedInEngine *)engine {
        return [OAToken rd_tokenWithUserDefaultsUsingServiceProviderName:@"LinkedIn" prefix:@"My app name"];
    }

    - (void)linkedInEngine:(RDLinkedInEngine *)engine requestSucceeded:(RDLinkedInConnectionID *)identifier withResults:(id)results {
        NSLog(@"++ LinkedIn engine reports success for connection %@\n%@", identifier, results);
        if( identifier == self.fetchConnection ) {
        //    NSDictionary* profile = results;

        }
    }

    - (void)linkedInEngine:(RDLinkedInEngine *)engine requestFailed:(RDLinkedInConnectionID *)identifier withError:(NSError *)error {
        NSLog(@"++ LinkedIn engine reports failure for connection %@\n%@", identifier, [error localizedDescription]);
    }

    - (void)fetchProfile {
        self.fetchConnection = [self.engine profileForCurrentUser];
        [self.engine updateStatus:@"Download app from the #Apple #AppStore and #Android #GooglePlay market."];
        [self dismissModalViewControllerAnimated:YES];
    }

    #pragma mark - RDLinkedInAuthorizationControllerDelegate

    - (void)linkedInAuthorizationControllerSucceeded:(RDLinkedInAuthorizationController *)controller {
        [self fetchProfile];
    }

    - (void)linkedInAuthorizationControllerFailed:(RDLinkedInAuthorizationController *)controller {

    }

    - (void)linkedInAuthorizationControllerCanceled:(RDLinkedInAuthorizationController *)controller {

    }


    @end

我已正确设置了一些东西。它需要我链接登录页面和登录后给予权限我得到这个错误

  

无法加载页面错误Domain = NSURLErrorDomain Code = -1003“A   找不到具有指定主机名的服务器。“   的UserInfo = 0x81e2250   {NSErrorFailingURLStringKey = HTTP://www.devbee.ca/组oauth_token = MY_TOKEN&安培; oauth_verifier = VERIFIER,   NSErrorFailingURLKey = MY_REDIRECT_URL /组oauth_token = MY_OAUTH_TOKEN&安培; oauth_verifier = MY_VERIFIER,   NSLocalizedDescription =具有指定主机名的服务器不能   找到。,NSUnderlyingError = 0x810ddc0“具有指定的服务器   无法找到主机名。“}

有什么问题?

是因为

- (OAToken *)linkedInEngineAccessToken:(RDLinkedInEngine *)engine {
            return [OAToken rd_tokenWithUserDefaultsUsingServiceProviderName:@"LinkedIn" prefix:@"My app name"];
        }

2 个答案:

答案 0 :(得分:1)

问题来自http://www.devbee.ca未启动并运行的事实。我不知道你引用http://www.devbee.ca的代码或配置中的哪一点,但那就是错误所在。

我猜你在LinkedIn应用程序的配置中,已将OAuth Accept Redirect URL设置为http://www.devbee.ca,这是一个不存在的URL。但这只是一个猜测,你需要挖掘一下才能弄清楚为什么LinkedIn会将你重定向到http://www.devbee.ca

<强>更新

您似乎需要在应用配置中将此OAuth接受重定向网址设置为http://linkedin_oauth/success。它在GitHub project

的“如何”中说明了这一点
  

最重要的是,OAuth重定向网址必须设置为:   http://linkedin_oauth/success用于Web视图的委托   通知

答案 1 :(得分:0)

由于网址连接错误,您的重定向网址存在问题。

看,错误说:"A server with the specified hostname could not be found"。这意味着您没有连接互联网,或者您的服务提供商的DNS列表中找不到您的服务器主机名,或者您的服务器网址错误。

你可以尝试什么。该错误指定错误网址:"NSErrorFailingURLKey=MY_REDIRECT_URL/?oauth_token=MY_OAUTH_TOKEN&oauth_verifier=MY_VERIFIER"。您可以尝试在Mac上的Safari / Chrome / etc中打开指定的网址"MY_REDIRECT_URL/?oauth_token=MY_OAUTH_TOKEN&oauth_verifier=MY_VERIFIER",看看会发生什么。如果您看到相同的错误,则应仔细检查重定向网址。如果成功打开,则说明iOS应用程序存在问题。