• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Swiftodon/Mastodon.swift: A Swift / RxSwift / Moya / Gloss based API client for ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

Swiftodon/Mastodon.swift

开源软件地址(OpenSource Url):

https://github.com/Swiftodon/Mastodon.swift

开源编程语言(OpenSource Language):

Swift 97.5%

开源软件介绍(OpenSource Introduction):

MastodonClient

CI Status License Platform

Howto

This client is designed to connect to any Mastodon instance and interact with it. As of the time of writing this (08th April 2017) the Moya Providers are feature complete with tootsuite/mastodon.

MastodonClient contains a few convenience methods to create Apps (OAuth Clients) and interact with the API but you should use the Moya Targets directly for the time being (as those are feature complete).

Do not forget to setup you Mastodon base url by setting it in the Settings singleton before trying to use any of the APIs:

Settings.shared.baseURL = NSURL(string: "https://mastodon.social")!

Given you've got an OAuth Client

let app = App(clientId: "", clientSecret: "")

Logging in is as easy as this then:

RxMoyaProvider<Mastodon.OAuth>()
.request(.authenticate(app, username, password))
.mapObject(type: AccessToken.self)
.subscribe { even in  }

Provided login was successful and you've retrieved an AccessToken you're free to use all the other APIs, e.g. to retrieve your home timeline:

RxMoyaProvider<Mastodon.Timelines>(plugins: [AccessTokenPlugin(token: accessToken.token)])
.request(.home)
.mapArray(type: Status.self)
.subscribe { even in  }

Multitenancy

In order to support multitenancy, it is possible to use the endpoint operator to inject the base URL of a server.

Example:

let app = App(clientId: "", clientSecret: "")
let url = "https://mastodon.cloud"

RxMoyaProvider<Mastodon.OAuth>(endpointClosure: /url)
.request(.authenticate(app, username, password))
.mapObject(type: AccessToken.self)
.subscribe { even in  }

Please note that the endpoint provided by teh operator overrides the URL stored in the settings singleton.

Requirements

  • Xcode 8.3 / Swift 3.1
  • Alamofire
  • Moya
  • Gloss
  • RxSwift

Installation

Using Carthage

github "Swiftodon/Mastodon.swift"

Authors

License

MastodonClient is available under the MIT license. See the LICENSE file for more info.




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap