2

iPadアプリを持っていて、vimeoをそれに統合する必要があります。私はそれを自分のアプリに統合する初期段階にあります。まず、vimeoを使用してアプリを認証する必要があります。

ドキュメントで認証の手順を実行しましたが、最初の2つの手順を実行できます。

トークンのリクエスト:http: //vimeo.com/oauth/request_token

ユーザー認証: http: //vimeo.com/oauth/authorize

しかし、最後のステップoauth_tokenを通過することはできません:oauth_token_secret

アクセストークン: http: //vimeo.com/oauth/access_token

Vimeoは、アプリに戻るのではなく、コールバックURLにリダイレクトします。これは、ベリファイアと認証トークンを取得するまでは問題ありません。しかし、これらを使用して取得するoauth_tokenoauth_token_secret、コンソールに次のエラーメッセージが表示されます。

Error Domain=NSURLErrorDomain Code=-1012 "The operation couldn’t be completed. 
(NSURLErrorDomain error -1012.)" UserInfo=0x18146180 {
    NSErrorFailingURLKey=http://vimeo.com/oauth/access_token?oauth_token=141b4ff56c48dc5d03501297bde85ebc&oauth_verifier=land-1886924229, 
    NSErrorFailingURLStringKey=http://vimeo.com/oauth/access_token?oauth_token=141b4ff56c48dc5d03501297bde85ebc&oauth_verifier=land-1886924229, 
    NSUnderlyingError=0x181483d0 "The operation couldn’t be completed. (kCFErrorDomainCFNetwork error -1012.)"
}

誰かが助けてくれるか、少なくともいくつかの指示を提供できますか?

さらに洞察を与えるために、私はOAuthConsumerフレームワークを使用しています。以下は、アクセストークンを取得するためのリクエストを配置するコード行です。

- (void)successfulAuthorizationWithToken:(NSString *)token verifier:(NSString *)verifier  {
    NSLog(@"successfulAuthorizationWithToken");
    OAMutableURLRequest *request;
    OADataFetcher *fetcher;

    //NSURL *url = [NSURL URLWithString:@"https://api.twitter.com/oauth/access_token"];
    NSURL *url = [NSURL URLWithString:@"http://vimeo.com/oauth/access_token"];
    request = [[[OAMutableURLRequest alloc] initWithURL:url
                                               consumer:self.consumer
                                                  token:self.accessToken
                                                  realm:nil
                                      signatureProvider:nil autorelease];


    OARequestParameter *p0 = [[OARequestParameter alloc] initWithName:@"oauth_token"
                                                                value:token];
    OARequestParameter *p1 = [[OARequestParameter alloc] initWithName:@"oauth_verifier"
                                                                value:verifier];
    NSArray *params = [NSArray arrayWithObjects:p0, p1, nil];
    [request setParameters:params];

    fetcher = [[[OADataFetcher alloc] init] autorelease];

    [fetcher fetchDataWithRequest:request
                         delegate:self
                didFinishSelector:@selector(accessTokenTicket:didFinishWithData:)
                  didFailSelector:@selector(accessTokenTicket:didFailWithError:)];

    [p0 release];
    [p1 release];

}

以下のリンクで指定されているソリューションも試しました: Twitter API + OAuthConsumer.framework

[[[OAHMAC_SHA1SignatureProvider alloc] init] autorelease]として使用すると言いますsignatureProvider。しかし、結果は同じです。

アクセストークンの手順を使用してベリファイアと承認されたトークンを取得した後、次の値を取得する必要があります。 oauth_token=YourAuthorizedOauthToken&oauth_token_secret=YourAuthorizedTokenSecret

4

2 に答える 2

0

リクエストに独自のコールバックを提供する必要があります。これはiOSのハンドラーのように見えmyapp://...myappブラウザーがリダイレクトされたときにiOSがアプリに制御を戻すようになります。OAuthを適切に使用していて、ユーザーとの対話のためにアプリからブラウザーを起動していることを前提としています。または、WebView(OAuthが推奨するものではない)を使用して、WebViewデリゲートでリダイレクトをキャッチして解析することもできますaccess toke

于 2011-05-12T06:33:11.673 に答える
0

ついにそれが機能するようになりました。ベース文字列とoAuthヘッダー文字列の形式に問題がありました。

于 2011-05-12T11:51:31.307 に答える