Tumblr SDK for iOSの使い方
以前作ったアプリでTumblr SDKを使うことがありましたので、導入方法を紹介します。
Tumblr APIもありますが、SDKを使う方がより簡単に使えます。
まずこちらからアプリを登録してOAuthによる認証に必要なコンシューマキー、コンシューマ秘密鍵取得します。
CocoaPodsを使って導入もできますが、今回は必要なファイルを直接取ってきます。
まずこちらからTumblr SDKをダウンロードしてください。
解凍してできたTMTumblrSDKディレクトリをプロジェクトにコピーします。
下記も必要となりますのでダウンロードしてプロジェクトにコピーしてください。
・JXHTTP
https://github.com/jstn/JXHTTP
・NSData-Base64
https://github.com/l4u/NSData-Base64
これでSDKを使用する準備が整いました。
ではここからは認証方法についてです。
AppDelegateのapplication:didFinishLaunchingWithOptionsに下記のコードを追加します。
[TMAPIClient sharedInstance].OAuthConsumerKey = @"取得したコンシューマキー";
[TMAPIClient sharedInstance].OAuthConsumerSecret = @"取得した秘密鍵";
次にinfo.plistにURL schemeの設定を行います。
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>astumblrclient</string>
</array>
</dict>
</array>
上記で設定したURL schemeでアプリを起動できるようにします。
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
return [[TMAPIClient sharedInstance] handleOpenURL:url];
}
次に認証処理を行います。
引数に上記で設定したURL schemeを設定してください。
[[TMAPIClient sharedInstance] authenticate:@"astumblrclient" callback:^(NSError *error) {
if (error) {
NSLog(@"Error login to Tumblr");
} else {
NSLog(@"login to Tumblr");
// 取得したコンシューマキーと秘密鍵を保存する
settingInfo.tumblrAuthToken = [TMAPIClient sharedInstance].OAuthToken;
settingInfo.tumblrAuthTokenSecret = [TMAPIClient sharedInstance].OAuthTokenSecret;
・・・
}
}];
認証が完了したらDashboardから画像一覧をリクエストします。
[[TMAPIClient sharedInstance] dashboard:@{@"type": @"photo",
@"limit" : @"20"}
callback:^(id results, NSError *error) {
NSLog(@"results: %@", [results description]);
NSArray *posts = results[@"posts"];
if (posts.count > 0) {
// 処理を行う
・・・
}
}];
実際にDashboardの画像一覧を取得して表示するサンプルを作ってみましたので、参考にしてください。
作ってみた感想としてSDKを使えば簡単にTumblr APIを扱えるのですが、
ドキュメントが少ない点や日本語の情報がほとんどないので少し困りました。
日本人でTumblrを使う人があまり多くないということなんでしょうかね。
Author And Source
この問題について(Tumblr SDK for iOSの使い方), 我々は、より多くの情報をここで見つけました https://qiita.com/asakahara/items/7fd8eee74f06e9bdacf5著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .