iOSからWeibo(微博)にログイン〜ツイートしてみる

weibo-logo

最近(?)、中国進出が騒がれる中、ついに中国語対応のアプリ依頼が・・。元々のアプリはTwitter連携だけど、中国ではTwitterは閲覧不可なので中国語版ツイッターであるWeibo(微博)を代用することに。基本的な流れはTwitterやFacebookなど各種SDKと変わらないが、全て中国語なのが辛い。

手順

手順1. Weiboアカウント登録

まずはWeiboのアカウントを登録します。
 ⇒ http://weibo.com/signup/signup.php

手順2. Weibo開発者登録

手順1のWeiboアカウント登録とは別に、開発者登録が必要になります。
 ⇒ http://open.weibo.com/developers/basicinfo

手順3. Weiboアプリケーション登録

iOSで利用するためのアプリケーション登録をします。
 ⇒ http://open.weibo.com/apps

  1. 「创建应用」(アプリケーション新規登録)をクリック。
  2. 「移动应用」(モバイルアプリケーション)をクリック。
  3. AppKeyとAppKeySecretが発行される。(↓こんな感じです)

Screen Shot 2013-12-04 at 7.44.37 AM

  1. 「应用信息」→「高级信息」から「OAuth2.0 授权设置」(OAuth2.0の認証設定)でコールバック設定をする。(特に指定がなければ”https://api.weibo.com/oauth2/default.html”でもよいみたい)

weibo-callback-setting

手順4. iOSにWeiboSDKの設定

WeiboSDKの対応言語は幅広くに対応している。下記から「iOS SDK」を選択して、遷移先のgithubのページからSDKをダウンロードする。git cloneなら下記の通り。
 ⇒ http://open.weibo.com/wiki/SDK

ダウンロードされたフォルダの中にあるlibWeiboSDKフォルダを自分のプロジェクトフォルダ内にコピーして、さらにXcode上にドロップ&ドラッグで追加する。下記キャプチャ画像↓のように「Link Binary With Library」に「libWeiboSDK.a」、「Copy Bundle Resources」にWeiboSDK.bundle」が追加されていればOK。

weibo-ios-sdk

手順4. iOSで実装1 (設定)

まずは全体の流れとしては下記の通り。 weibo-ios-flow

1. 「Prefix.pch」

アプリキーとコールバックURIをそれぞれ定義しておきます。どちらもWeiboのアプリ管理ページで設定・取得できます。

2. AppDelegate.h

3. AppDelegate.m

WebioSDKを設定し、デリゲートメソッドを3つ追加します。

手順5. iOSで実装2 (ツイート)

WeiboViewControllerを作成します。ここでログイン&ツイートボタンとそれぞれの処理を実装します。コードは以下の通り。

WeiboViewController.h

WeiboViewController.m

上記のコードはGithubにもUP。 ⇒ kuman/ios-weibo-test

テスト

シミュレーターを起動し、「ログイン」ボタンを押すとWebioのブラウザベースのWeiboログインフォームが表示される。ログイン後に「つぶやく」ボタンをタッチするとWeibo上に”Hello World!”とツイートされる。

MEMO

  • ドキュメントが中国語が辛い。
  • API操作はWeiboWikiのドキュメントを見れればまぁいける。
  • ログイン後にコールバックでアプリに戻ってくれず少しはまる。(Weibo管理画面のバンドルID/コールバック設定やXcode上のpListなど見直して解決)
  • Google ChromeだとWeiboの新規登録ができなかったのでFirefoxで登録した。

参考