LoginSignup
27
25

More than 5 years have passed since last update.

Tumblr SDK for iOSの使い方

Last updated at Posted at 2013-10-27

以前作ったアプリで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の画像一覧を取得して表示するサンプルを作ってみましたので、参考にしてください。

tumblrScreenshot1.png

作ってみた感想としてSDKを使えば簡単にTumblr APIを扱えるのですが、
ドキュメントが少ない点や日本語の情報がほとんどないので少し困りました。
日本人でTumblrを使う人があまり多くないということなんでしょうかね。

27
25
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
25