iPhoneアプリ開発 -mixiSDKを使ってmixi連携をしてみる(2)-

公開日: : iPhone, IT, Mac, mixi


 前回

前回は、「ユーザーにAPI利用のための認可」をおこなってもらうところまでやりました。
本エントリーは、その続きになります。

 やりたいこと

今回は、ボイスを投稿するところがメインになります。

 サンプルコード

※すでに、認可が終わっていることが前提になっています。

 ボイス投稿

ボイス投稿は以下のような感じ。

 - (void)post:(NSString *)voice {
     if(![self.mixi isAuthorized]) { //(1)
         return;
     }
     MixiRequest *request = [ MixiRequest postRequestWithEndpoint:@"/voice/statuses"
                                                             body:@"application/x-www-form-urlencoded"
                                                    paramsAndKeys:voice,
                                                                  @"status",
                                                                  nil];
  [self.mixi sendRequest:request delegate:self]; //(2)
 }

self.mixiに[Mixi sharedMixi]の値が入っています。

(1)の説明
最初に認可状態を確認しています。
ここではreturnしていますけど、本来なら再度認可させるように遷移させるのがベターかと思います。

(2)の説明
デリゲート先を設定しておきます。
APIの呼び出しが成功したり失敗したりすると以下の各メソッドが呼び出されます。
※ちなみに、他にもありますが今回はこの3種類だけで。

 //呼び出し成功
 -(void)mixi:(Mixi*)mixi didSuccessWithJson:(NSDictionary*)data {
 }
//呼び出し失敗
 -(void)mixi:(Mixi*)mixi didFailWithConnection:(NSURLConnection*)connection error:(NSError*)error {
 }
 //実行失敗
 -(void)mixi:(Mixi*)mixi didFailWithError:(NSError*)error {
 }

 ボイスに画像添付して投稿

画像を添付して送りたい場合は以下の様な感じ。

 - (void)post:(UIImage*)image setVoice:(NSString *)voice {
  if(![self.mixi isAuthorized]) {
   return;
  }
  MixiRequest *request = [MixiRequest postRequestWithEndpoint:@"/voice/statuses"
                                                         body:image
                                                paramsAndKeys:@"image/jpeg",
                                                              @"Content-Type",
                                                              voice,
                                                              @"status",
                                                              nil];
  [self.mixi sendRequest:request delegate:self];
 }

大きな違いは、bodyにUIImageを設定しているところです。
特に何かしらの処理は必要なくて、UIImageをそのまま使えるのは非常に楽です。

広告

関連記事

スクリーンショット 2012-10-20 14.26.24

iPhoneアプリ開発 −UITabControllerの利用−

* やりたいこと 上にあるように下部にあるタブをタッチしたら別のページを呼び出す。 * 

記事を読む

no image

Twitterでプロテクトをかけているユーザが投稿したステータスを取得する方法

* 前提 ID Twitterの各投稿にはIDが存在していています。 そのIDを元にステータス

記事を読む

no image

jQuery Mobileでdata-role=headerを使うときの注意点 -勝手にタイトルが変更される件-

* 現象 +headタグでtitleタグで文字列(A)を記述している +data-role=he

記事を読む

no image

iPhoneアプリ開発 -UIButtonのTouch Down、Touch up Inside、Touch up Outsideの使い方-

* Touch DownとTouch up Inside、Touch up Outsideの違い

記事を読む

no image

カレログ騒動で考えたライフログのこと

今回、カレログというAndroidアプリが話題になり騒動になってます。 というわけで、ふとカレログ

記事を読む

no image

jQuery Mobileではまったこと -広告が表示されない!($.mobile.changePage()でのページ遷移)-

swipeした際にページ遷移をさせるためにjQueryMobileの$.mobile.changeP

記事を読む

no image

jQuery Mobileでミスしたこと -JSだけ最新にしてしまってレイアウト崩れたの巻-

* 前提(CDN先) jQuery Mobileを使う場合、cssを自前のサーバにおいて、jsはC

記事を読む

no image

github-flowを使っての開発(3) -1つのプロジェクトを複数人で開発-

今まで2回ほどgithub-flowをもとにした開発の流れを書きました。 今回は、複数人で開発をする

記事を読む

no image

iPhoneアプリを開発してての疑問 -教えてエライ人!-

MacでiPhoneアプリを開発してて疑問に思ったのの解決してないことを列挙。 知識不足をさらけ出し

記事を読む

WordPressプラグイン「WP Hatena Notation」にPullRequestを投げた話

WordPressではてな記法が利用できる「WP Hatena Notation」を重宝しています。

記事を読む

広告

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

広告

no image
[感想] Effective Objective-C 2.0 ☆☆☆☆★(4.5)

* 構成 - 第1章 Objective-Cに慣れる -

no image
[感想] iOSアプリテスト自動化入門 ☆☆☆(3.0)

* 構成 - Chapter 1 テスト自動化への取り組み

DeployGateを試してみた(iOS編) -DeployGateがiOSに対応-

今までのDeployGate - -[http://pplace.

iPhone/iPadアプリを開発するためにやったこと

今までに、iPhoneを3本ほどリリース((リリースしたアプリは全て1

no image
ターミナルでgitのコマンドを補完したりブランチ名を表示する – macでgitを便利に使うために –

* やりたいこと macのターミナルでgitをいじっていると -今の

→もっと見る

PAGE TOP ↑