QiitaKit
Swift製のQiitaAPIClient(v2)です。OAuth認証にも対応しています。
Usage
セットアップ
Qiitaマイページ で登録したアプリケーションのClientID, ClientSecretを設定してください。
// AppDelegate.swift
import QiitaKit
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
/*
初期設定を行う
- parameter clientID: 登録アプリケーションのClientID
- parameter clientSecret: 登録アプリケーションのClientSecret
- parameter teamDomain(Option): QiitaTeamのドメイン(Optional)
- parameter keychainConfiguration(Option): トークンを保存するKeychainの設定
*/
AuthManager.sharedManager.setup(
clientID: "xxxxx",
clientSecret: "xxxxx")
return true
}
OAuth認証
import QiitaKit
// 認証済み判定
let authorized: Bool = AuthManager.sharedManager.authorized
/*
OAuth認証を行う。認証を行うためのWindowが表示されます
- parameter scopes: アプリで利用可能なスコープ
- readQiita: Qiitaからアクセストークンに紐付いたユーザに関連したデータを読み出す
- readQiitaTeam: Qiita:Teamからデータを読み出す
- writeQiita: Qiitaにデータを書き込む
- writeQiitaTeam: Qiita:Teamにデータを書き込む
- parameter redirectURL: 登録アプリケーションで設定したリダイレクト先のURL
- parameter webViewType: OAuth認証を行うWebViewの種類
- parameter completion: 認証後に呼ばれるハンドラ
*/
AuthManager.sharedManager.authorize(withScopes: scopes,
redirectURL: redirectURL,
webViewType: .UIWebView)
{ result in
switch result {
case .success:
// 認証成功
case .failure(let error):
// 認証失敗
}
}
リクエスト
QiitaAPIの各リクエストに対応ています。
import QiitaKit
// 認証中ユーザ情報を取得するリクエストオブジェクト
let request = QiitaAPI.User.GetAuthenticatedUserRequest()
// リクエスト送信
APIClient().send(request) { result in
switch result {
case .success(let authenticatedUser):
print(authenticatedUser)
case .failure(let error):
print(error)
}
}
Installation
Carthage
github "ykyouhei/QiitaKit"
をCartfileに追記.carthage update
を実行.Carthage/Checkouts
以下に生成されるQiitaKit.framework
をプロジェクトにリンク
CocoaPods
pod 'QiitaKit'
をPodfileに追記pod install
を実行