2011-05-12 117 views
2

我有一個iPad應用程序,需要將vimeo集成到它。我正處於將其集成到我的應用程序的初始階段。我首先需要通過vimeo來驗證我的應用程序。vimeo o通過iPhone應用程序進行身份驗證

我已經通過了步驟在documenattion認證,我能夠穿過第一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_token和oauth_token_secret,控制檯顯示以下錯誤信息:

錯誤域= NSURLErrorDomain代碼= -1012「的操作無法完成(NSURLErrorDomain錯誤-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 「操作無法完成。(kCFErrorDomainCFNetwork錯誤-1012。)」}

任何人都可以請幫助或至少提供一些方向?

爲了深入瞭解,我使用了OAuthConsumer框架。下面是我們將請求獲得訪問令牌的代碼行:

  • (無效)successfulAuthorizationWithToken:(的NSString *)標記驗證:(的NSString *)驗證{ 的NSLog(@ 「successfulAuthorizationWithToken」); OAMutableURLRequest *請求; 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]; [請求setParameters:params];

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

    [提取器fetchDataWithRequest:請求 委託:自 didFinishSelector:@selector(accessTokenTicket:didFinishWithData :) didFailSelector:@selector(accessTokenTicket:didFailWithError :)];

    [p0 release]; [p1 release];下面鏈接中指定

}

我也試着解決方案: Twitter API + OAuthConsumer.framework

它說,使用[[[OAHMAC_SHA1SignatureProvider頁頭] INIT]自動釋放]作爲signatureProvider。但結果是一樣的。

我需要後,我得到驗證,並使用訪問令牌一步授權令牌以下值: 的oauth_token = YourAuthorizedOauthToken & oauth_token_secret = YourAuthorizedTokenSecret

回答

0

終於搞定了。基本字符串和oAuth標題字符串格式中存在問題。

+2

嗨,我有同樣的問題。你是如何解決它的? – Janub 2012-07-05 15:36:22

0

您需要提供您自己的回調在您的要求,它看起來像myapp://...並在iOS中註冊myapp處理程序,以便在瀏覽器重定向時,iOS將控制權交還給您的應用程序。我假設您正確使用OAuth並從您的應用程序啓動瀏覽器以進行用戶交互。或者,您可以使用WebView(不是OAuth建議的),然後在WebView委託中,您可以捕獲重定向並解析access toke

+0

我需要使用驗證者和授權令牌來獲取oauth_token和oauth_token_secret。在第二步「用戶授權」後,我將獲得驗證者和授權令牌,其中應用程序被重定向到回調url,並從webview委託方法中的請求url中獲取驗證者和授權令牌。但是現在我需要使用這些來獲取oauth_token和oauth_token_secret通過我面對問題的最後一步。 – random 2011-05-12 08:39:59

+0

好吧,我進一步研究,並得到一個錯誤:401未經授權 - 無效簽名 - 傳遞的oauth_signature無效。我的基本簽名密鑰是GET和HTTP%3A%2F%2Fvimeo.com%2Foauth%2Faccess_token&oauth_consumer_key%3D97823cb1ff039bce66966341928a7db2%26oauth_nonce%3DDEE0A217-620E-459A-8BF3-BE7F5B9F281A%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1305198917%26oauth_token%3Dd545d685bb6a38f9ce108c99b9175bbb%26oauth_verifier%3Dpulse -2088361215%26oauth_version%3D1.0任何人都可以告訴問題在哪裏? – random 2011-05-12 11:17:30

相關問題