Reactive

extension Reactive where Base: StoryApi

StoryApi의 ReactiveX 확장입니다.

아래는 story/profile을 호출하는 간단한 예제입니다.

StoryApi.shared.rx.profile()
   .retryWhen(Auth.shared.rx.dynamicAgreement())
   .subscribe(onSuccess:{ (profile) in
       print(profile)
   }, onError: { (error) in
       print(error)
   })
   .disposed(by: <#Your DisposeBag#>)
  • 사용자가 카카오스토리 사용자인지 아닌지를 판별합니다.

    Declaration

    Swift

    public func isStoryUser() -> Single<Bool>
  • 로그인된 사용자의 카카오스토리 프로필 정보를 얻을 수 있습니다.

    Seealso

    StoryProfile

    Declaration

    Swift

    public func profile(secureResource: Bool = true) -> Single<StoryProfile>
  • 카카오스토리의 특정 내스토리 정보를 얻을 수 있습니다. comments, likes등의 상세정보도 포함됩니다.

    Seealso

    Story

    Declaration

    Swift

    public func story(id: String) -> Single<Story>
  • 카카오스토리의 복수개의 내스토리 정보들을 얻을 수 있습니다. 단, comments, likes등의 상세정보는 없으며 이는 내스토리 정보 요청 story(id:)을 통해 얻을 수 있습니다.

    Seealso

    Story

    Declaration

    Swift

    public func stories(lastId: String? = nil) -> Single<[Story]?>
  • 포스팅하고자 하는 URL을 스크랩하여 링크 정보를 생성합니다.

    Seealso

    LinkInfo

    Declaration

    Swift

    public func linkInfo(url: URL) -> Single<LinkInfo>
  • 카카오스토리에 글(노트)을 포스팅합니다.

    Declaration

    Swift

    public func postNote(content:String,
                         permission:Story.Permission = .Public,
                         enableShare:Bool? = false,
                         androidExecParam: [String: String]? = nil,
                         iosExecParam: [String: String]? = nil,
                         androidMarketParam: [String: String]? = nil,
                         iosMarketParam: [String: String]? = nil) -> Single<String>
  • 카카오스토리에 링크(스크랩 정보)를 포스팅합니다.

    먼저 포스팅하고자 하는 URL로 스크랩 API를 호출한 후 반환된 링크 정보를 파라미터로 전달하여 포스팅 해야 합니다.

    Seealso

    linkInfo(url:)
    LinkInfo

    Declaration

    Swift

    public func postLink(content:String? = nil,
                         linkInfo:LinkInfo,
                         permission:Story.Permission = .Public,
                         enableShare:Bool? = false,
                         androidExecParam: [String: String]? = nil,
                         iosExecParam: [String: String]? = nil,
                         androidMarketParam: [String: String]? = nil,
                         iosMarketParam: [String: String]? = nil) -> Single<String>
  • 카카오스토리에 사진(들)을 포스팅합니다.

    Declaration

    Swift

    public func postPhoto(content:String? = nil,
                          imagePaths:[String],
                          permission:Story.Permission = .Public,
                          enableShare:Bool? = false,
                          androidExecParam: [String: String]? = nil,
                          iosExecParam: [String: String]? = nil,
                          androidMarketParam: [String: String]? = nil,
                          iosMarketParam: [String: String]? = nil) -> Single<String>
  • 로컬 이미지 파일 여러장을 카카오스토리에 업로드합니다. (JPEG 형식)

    Declaration

    Swift

    public func upload(_ images: [UIImage?]) -> Single<[String]?>
  • 카카오스토리의 특정 내스토리 정보를 지울 수 있습니다.

    Declaration

    Swift

    public func delete(_ id: String) -> Completable