1

次のコードを使用しています

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

私は物事を正しく設定しました。linkedInログインページに移動し、ログインして権限を付与した後、このエラーが発生します

ページの読み込みに失敗しました エラー Domain=NSURLErrorDomain Code=-1003 「指定されたホスト名のサーバーが見つかりませんでした。」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=指定されたホスト名を持つサーバーが見つかりませんでした., NSUnderlying 0x810ddc0 "指定されたホスト名のサーバーが見つかりませんでした。"}

なにが問題ですか?

のせいか

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

2 に答える 2

1

この問題は、http://www.devbee.caが稼働していないことに起因しています。http://www.devbee.caを参照しているコードまたは構成のどのポイントを参照しているかはわかりませんが、そこにエラーがあります。

LinkedIn アプリの構成で、存在しない URL であるhttp://www.devbee.caOAuth Accept Redirect URLに設定したと思います。しかし、これは推測に過ぎません。なぜ LinkedIn があなたをhttp://www.devbee.caにリダイレクトするのかを調べる必要があります。

アップデート

http://linkedin_oauth/successアプリの構成で、この OAuth Accept Redirect URL を に設定する必要があるようです。これは、GitHub プロジェクトの How To で次のように述べられています。

最も重要なことは、OAuth リダイレクト URL を次のように設定する必要があることです: http://linkedin_oauth/successWeb ビューのデリゲートに通知するには

于 2012-10-18T16:32:32.897 に答える
0

URL 接続エラーのため、リダイレクト URL に問題があります。

エラーは次のように表示されます"A server with the specified hostname could not be found"。これは、インターネットに接続していないか、サーバーのホスト名がプロバイダーの DNS リストにないか、サーバーの URL が間違っていることを意味します。

あなたが試すことができるもの。エラーはエラー URL を指定します: "NSErrorFailingURLKey=MY_REDIRECT_URL/?oauth_token=MY_OAUTH_TOKEN&oauth_verifier=MY_VERIFIER"。指定した URL を Mac の Safari/Chrome/etc で開いてみて、"MY_REDIRECT_URL/?oauth_token=MY_OAUTH_TOKEN&oauth_verifier=MY_VERIFIER"何が起こるかを確認してください。同じエラーが表示された場合は、リダイレクト URL を再確認してください。正常に開かれた場合、iOS アプリに問題があることがわかります。

于 2012-10-14T21:07:14.813 に答える