Skip to content

ykyouhei/QiitaKit

Repository files navigation

QiitaKit

Carthage compatible Pod Version Pod Platform Pod License Swift version

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

  • github "ykyouhei/QiitaKit" をCartfileに追記.
  • carthage updateを実行.
  • Carthage/Checkouts以下に生成されるQiitaKit.frameworkをプロジェクトにリンク
  • pod 'QiitaKit'をPodfileに追記
  • pod installを実行

About

Qiita API client for Swift.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy