MediumSDKSwift 0.1.1

MediumSDKSwift 0.1.1

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2016年11月
SwiftSwift 版本3.0
SPM支持 SPM

Fernando Bass 维护。



 
依赖
OAuthSwift~> 1.0
SwiftyJSON~> 3.1
Alamofire~> 4.0
 

  • drinkius, ferbass 和 ndethore

Medium SDK - Swift

一个库,允许任何 Swift iOS 应用访问 Medium API。

功能

  • [x] Medium.com 授权 & 令牌处理
  • [x] 登录状态保存在用户默认设置中
  • [x] 支持的范围:basicProfile, listPublications, publishPost
  • [x] 实现了 Medium API 文档中的所有相关请求 Medium API 文档
  • [ ] 支持Safari视图控制器

兼容性

  • iOS 9.0+
  • osx 10.10

安装

  pod 'MediumSDKSwift'

并在目录中运行 pod install 以加载依赖项。

配置

将您的 MEDIUM_CLIENT_IDMEDIUM_CLIENT_SECRETMEDIUM_CALLBACK_URL 添加到 编译设置 -> 用户定义

在项目中右键单击您的 Info.plist 文件,选择“打开为” - “源代码”并添加以下行

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLName</key>
        <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>mediumswift</string>
        </array>
    </dict>
</array>

<key>MediumCallbackURL</key>
<string>$(MEDIUM_CALLBACK_URL)</string>

<key>MediumClientID</key>
<string>$(MEDIUM_CLIENT_ID)</string>

<key>MediumClientSecret</key>
<string>$(MEDIUM_CLIENT_SECRET)</string>

在标签之前。

在应用代理中处理回调

func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject]) -> Bool {
        if (url.host == "mediumswift-callback") {
            OAuthSwift.handleOpenURL(url)
        }
        return true
    }

请注意,重定向是通过免费的 Heroku 应用完成的,并强烈建议您通过克隆并运行 此存储库(感谢原始的 oauthswift.herokuapp.com 存储库)。将存储库中的所有 mediumswift 字符串更改为您的应用名称,并在 Info.plist应用代理 文件中进行相关更改。在 Heroku 上部署很简单 - 只需链接您的 GitHub 仓库,应用就会自动构建。

您已设置完毕!

使用

MediumSDKManager 类被设计成单例,您可以通过调用共享实例来访问其所有方法

let mediumSession = MediumSDKManager.sharedInstance

MediumSDKManager 类的方法列表

  • 授权,完成处理程序返回状态:成功/失败以及用户的 medium 令牌或错误字符串
doOAuthMedium(completionHandler: (String, String) -> Void)
  • 检查登录凭据,完成处理程序返回状态:成功/失败和medium令牌或错误字符串
checkCred(completionHandler: (String, String) -> Void)
  • 获取当前用户ID,完成处理程序返回状态:成功/失败和用户ID或错误字符串
getUserID(completionHandler: (String, String) -> Void)
  • 获取当前Medium令牌,完成处理程序返回状态:成功/失败和medium令牌或错误字符串
getToken(completionHandler: (String, String) -> Void)
  • 注销,完成处理程序返回状态:成功/失败,信息或错误字符串
signOutMedium(completionHandler: (String, String) -> Void)
  • 获取当前用户的凭据,完成处理程序返回状态:成功/失败,用户ID或错误字符串
ownCredentialsRequest(completionHandler: (String, String) -> Void)
  • 获取当前用户发布作品列表,完成处理程序返回状态:成功/失败,用户出版作品数量或错误字符串和出版物的JSON(如有)
userPublicationsListRequest(completionHandler: (String, String, JSON) -> Void)
  • 获取作品贡献者列表,完成处理程序返回状态:成功/失败,用户出版作品数量或错误字符串和出版物的JSON(如有)
getListOfContributors(publicationId: String, completionHandler: (String, String, JSON) -> Void)
  • 创建新帖子,完成处理程序返回状态:成功/失败,信息或错误字符串
createPost(title: String, contentFormat: String, content: String, canonicalUrl: String?=nil, tags: [String]?=nil,  publishStatus: MediumPublishStatus?=nil, license: MediumLicense?=nil, completionHandler: (String, String) -> Void)
  • 在现有出版物下创建帖子,完成处理程序返回状态:成功/失败,信息或错误字符串
createPostUnderPublication(rootPublication: String, title: String, contentFormat: String, content: String, canonicalUrl: String?=nil, tags: [String]?=nil, publishStatus: MediumPublishStatus?=nil, license: MediumLicense?=nil, completionHandler: (String, String) -> Void)

注意,发布状态和许可字段作为枚举编码,包含这些参数的所有可能状态,创建出版物时只需使用适当的值。

发布历史

  • 0.1.0
    • 更新Swift 3.0的语法
    • 不支持iOS 9.0及以下版本
    • 更新依赖项

  • 0.0.4
    • 添加用户定义变量
    • 当前版本

  • 0.0.3
    • 错误修正

  • 0.0.2
    • 更新依赖项

  • 0.0.1
    • 第一个版本

贡献

我们非常欢迎您为Medium SDK - Swift贡献力量,有关更多信息,请查阅项目许可文件LICENSE

Meta

原作者:Alexander Telegin – @drinkius[email protected]

贡献者包括

作为开发实习的一部分创建,按照MIT许可证分发。有关更多信息,请参阅项目许可文件LICENSE

https://github.com/96-problems/medium-sdk-swift