Vimeo を自分のアプリに統合したいと考えています。vimeo 開発者サイトを調べました。すべて問題ありませんが、認証できません。Oauth のチュートリアルを調べましたが、理解に苦しむことがわかりました。締め切りが非常に短いことがわかりました。このリンクですが、簡単で良いとは感じませんでした。
質問する
2095 次
1 に答える
1
最初に、プロジェクトに OAuthConsumer ファイルをドラッグしました
http://oauth.googlecode.com/svn/code/obj-c/OAuthConsumer/
「iPhone 対応」とは、ファイルを Xcode に追加し、「OAuthConsumer.h」をインポートするだけでよいことを意味します。
iPhone を使用している場合:
1) Security.framework を必ず追加してください。
2) フレームワークに libxml2.dylib を含めます。また、ビルド プロパティをプロジェクトに追加する必要があります。「ヘッダー検索パス」には、「再帰」がオンになっている「$SDKROOT/usr/include/libxml2」を含める必要があります。
Viewcontroller.h 内
#import "OAConsumer.h"
#import "OAMutableURLRequest.h"
#import "OADataFetcher.h"
@property(nonatomic,strong) OAToken *accessToken;
@property(nonatomic,strong) IBOutlet UIWebView *webView;
Viewcontroller.m 内
@synthesize accessToken;
@synthesize webView;
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
// Do any additional setup after loading the view, typically from a nib.
OAConsumer *consumer = [[OAConsumer alloc] initWithKey:@"fa9374b9fc90f2ffd7b4P8K3776530fa6023985b"
secret:@"d6242b63d435757526u87e7ceca98ffdcd8d9d55e"];
NSURL *url = [NSURL URLWithString:@"https://vimeo.com/oauth/request_token"];
OAMutableURLRequest *request = [[OAMutableURLRequest alloc] initWithURL:url
consumer:consumer
token:nil
realm:nil
signatureProvider:nil];
[request setParameters: [NSArray arrayWithObjects: [[OARequestParameter alloc] initWithName: @"oauth_callback" value: @"http://vimeo.com/api/rest/v2?format=json&method=vimeo.videos.search&qdfduery=amir+khan"] ,nil]];
[request setHTTPMethod:@"GET"];
OADataFetcher *fetcher = [[OADataFetcher alloc] init];
[fetcher fetchDataWithRequest:request
delegate:self
didFinishSelector:@selector(requestTokenTicket:didFinishWithData:)
didFailSelector:nil];
}
- (void)requestTokenTicket:(OAServiceTicket *)ticket didFinishWithData:(NSData *)data {
if (ticket.didSucceed)
{
NSString *responseBody = [[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding];
OAToken *requestToken = [[OAToken alloc] initWithHTTPResponseBody:responseBody];
NSLog(@"data %@",requestToken);
OAMutableURLRequest *request;
if (self.accessToken != nil)
{
self.accessToken = nil;
}
self.accessToken = [[OAToken alloc] initWithHTTPResponseBody:responseBody];
NSLog(@"access token key %@",self.accessToken.key) ;
NSLog(@"access token secret %@",self.accessToken.secret) ;
NSURL *url = [NSURL URLWithString:@"https://vimeo.com/oauth/authorize"];
OAConsumer *consumer = [[OAConsumer alloc] initWithKey:self.accessToken.key
secret:self.accessToken.secret];
request = [[OAMutableURLRequest alloc] initWithURL:url
consumer:consumer
token:self.accessToken
realm:nil
signatureProvider:nil];
OARequestParameter *p0 = [[OARequestParameter alloc] initWithName:@"oauth_token" value:self.accessToken.key];
NSArray *params = [NSArray arrayWithObject:p0];
[request setParameters:params];
[webView loadRequest:request];
NSLog(@"request %@",request);
}
}
于 2013-09-04T13:33:17.700 に答える