StoryApi

public class StoryApi

카카오 Open API의 카카오스토리 API 호출을 담당하는 클래스입니다.

프로필 가져오기, 내스토리 가져오기, 내스토리 쓰기 등의 기능을 제공합니다.

  • 간편하게 API를 호출할 수 있도록 제공되는 공용 싱글톤 객체입니다.

    Declaration

    Swift

    public static let shared: StoryApi
  • 스토리 포스팅 api 으로부터 리다이렉트 된 URL 인지 체크합니다.

    Declaration

    Swift

    public static func isStoryPostUrl(_ url: URL) -> Bool
  • 사용자가 카카오스토리 사용자인지 아닌지를 판별합니다.

    Declaration

    Swift

    public func isStoryUser(completion:@escaping (Bool?, Error?) -> Void)
  • 로그인된 사용자의 카카오스토리 프로필 정보를 얻을 수 있습니다.

    Seealso

    StoryProfile

    Declaration

    Swift

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

    Seealso

    Story

    Declaration

    Swift

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

    Seealso

    Story

    Declaration

    Swift

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

    Seealso

    LinkInfo

    Declaration

    Swift

    public func linkInfo(url: URL, completion:@escaping (LinkInfo?, Error?) -> Void)
  • 카카오스토리에 글(노트)을 포스팅합니다.

    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,
                         completion:@escaping (String?, Error?) -> Void)
  • 카카오스토리에 링크(스크랩 정보)를 포스팅합니다.

    먼저 포스팅하고자 하는 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,
                         completion:@escaping (String?, Error?) -> Void)
  • 카카오스토리에 사진(들)을 포스팅합니다.

    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,
                          completion:@escaping (String?, Error?) -> Void)
  • 로컬 이미지 파일 여러장을 카카오스토리에 업로드합니다. (JPEG 형식)

    Declaration

    Swift

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

    Declaration

    Swift

    public func delete(_ id: String, completion:@escaping (Error?) -> Void)