测试已测试 | ✓ |
Lang语言 | SwiftSwift |
许可证 | MIT |
发布最后发布 | 2017年10月 |
SwiftSwift 版本 | 4.0 |
SPM支持 SPM | ✗ |
由 Jared Verdi 维护。
依赖关系 | |
结果 | ~> 3.2 |
Decodable | ~> 0.6 |
Gramophone是一个用于与Instagram REST API交互的框架,用Swift编写。
它包括通过OAuth进行认证,以及异步调用Instagram全部公开API端点的功能。
响应将被解析为具体的模型对象和错误。
设置客户端,提供您的Instagram的客户端ID和重定向URI,以及任何需要的权限
import Gramophone
let configuration = ClientConfiguration(
clientID: "{YOUR_INSTAGRAM_CLIENT_ID}",
redirectURI: "{YOUR_INSTAGRAM_REDIRECT_URI}",
scopes: [.basic, .publicContent, .comments]
)
let gramophone = Gramophone(configuration: configuration)
使用OAuth(使用内置的WKWebView
控制器)进行认证
gramophone.client.authenticate(from: presentingViewController) { result in
switch result {
case .success(let response):
print("Authenticated")
case .failure(let error):
print("Failed to authenticate: \(error.localizedDescription)")
}
}
使用API包装器方法请求数据
gramophone.client.myRecentMedia(options: nil) { mediaResult in
switch mediaResult {
case .success(let response):
let mediaItems = response.data.items
for media in mediaItems {
if let images = media.images, let rendition = images[.thumbnail] {
print("Media [ID: \(media.ID), url: \(rendition.url)]")
}
}
case .failure(let error):
print("Failed to load media: \(error.localizedDescription)")
}
}
有关可用的API方法的全列表,请参阅资源目录
API包装器 | 方法 | Instagram文档 |
---|---|---|
认证 |
|
文档 |
评论 |
|
文档 |
点赞 |
|
文档 |
位置 |
|
文档 |
媒体 |
|
文档 |
OEmbed |
|
文档 |
关系 |
|
文档 |
标签 |
|
文档 |
用户 |
|
文档 |
Gramophone利用了Decodable和Result库。
Gramophone采用MIT许可证发布。有关详细信息,请参阅LICENSE。
图标由Gan Khoon Lay从Noun Project创建