🖼
EtsySwiftEtsySwift 是基于 RxAlamofire 构建的,用于 Swift 4.2 编写的 iOS 项目,易于与 Etsy 进行 API 连接。
安装
- 将
pod 'EtsySwift'
添加到 Podfile 中 - 运行
pod install
- 在任何想要使用库的地方添加
import EtsySwift
⚒
设置为了设置此库,您需要传递您的客户端密钥和客户端密钥。
绝不要在您的仓库中留下您的机密密钥,使用任何形式的模糊化或加密以保护您的数据安全。
class API {
let shared = API()
let etsy: EtsySwift
init() {
etsy = EtsySwift(consumerKey: "CONSUMER_KEY", consumerSecret: "CONSUMER_SECRET")
}
}
登录
之后,您需要登录,传递您需要的范围,如 Etsy API 中定义的。
API.shared.etsy.login(["email_r"], callback: "etsyintegration://oauth-callback")
您传递的第二个参数是在用户登录后将被触发的回调 URL - Etsy 使用 OAuth 授权 - 此库将为您打开一个 Safari 窗口。您需要在应用程序中注册自定义方案并将其传递。另外,您需要将以下方法添加到您的 AppDelegate
中
func application(_ application: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any]) -> Bool {
API.shared.etsy.callbackCalled(url: url)
return true
}
发出请求
使用登录方法进行授权后,您可以轻松地调用任何您有权访问的Etsy API方法。我还添加了一个方便的Rx扩展,用于解码API的响应。
目前,API只支持我项目所需的资源(如店铺列表、产品列表和获取产品图片),但您可以使用request(method:url:)
方法请求所需的任何资源。如果您需要将其他资源添加到库中,请告诉我或提交一个pull request。
API.shared.etsy.request(.shops("__SELF__")).decodedAs(EtsyResponse<EtsyShop>.self)
贡献
- Fork它
- 创建您的功能分支(
git checkout -b my-new-feature
) - 添加您的更改
- 提交您的更改(
git commit -am 'Add some feature'
) - 推送到分支(
git push origin my-new-feature
) - 创建新的Pull Request
许可
MIT