From 85a9f62d389a197991a779deca9de8c48aaffcde Mon Sep 17 00:00:00 2001 From: Andy Liang Date: Fri, 26 Aug 2016 12:15:05 -0700 Subject: [PATCH] Updated #155 for Swift 3 + Merge into `postMedia` as nullable parameter --- Swifter/SwifterTweets.swift | 29 ++--------------------------- 1 file changed, 2 insertions(+), 27 deletions(-) diff --git a/Swifter/SwifterTweets.swift b/Swifter/SwifterTweets.swift index ba10df05..a603eb67 100644 --- a/Swifter/SwifterTweets.swift +++ b/Swifter/SwifterTweets.swift @@ -169,40 +169,15 @@ public extension Swifter { - https://dev.twitter.com/rest/public/uploading-media - https://dev.twitter.com/rest/reference/post/media/upload */ - public func postMedia(_ media: Data, success: SuccessHandler? = nil, failure: FailureHandler? = nil) { + public func postMedia(_ media: Data, additionalOwners: UsersTag? = nil, success: SuccessHandler? = nil, failure: FailureHandler? = nil) { let path: String = "media/upload.json" var parameters = Dictionary() parameters["media"] = media + parameters["additional_owers"] ??= additionalOwners?.value parameters[Swifter.DataParameters.dataKey] = "media" self.postJSON(path: path, baseURL: .upload, parameters: parameters, success: { json, _ in success?(json) }, failure: failure) } - - /** - POST media/upload - - Upload media (images) to Twitter for use in a Tweet or Twitter-hosted Card. For uploading videos or for chunked image uploads (useful for lower bandwidth connections), see our chunked POST media/upload endpoint. - The parameter "additionalOwners" is corresponding to the optional parameter "addtional_owners" in the twitter's document, which is a comma-separated list of user IDs to set as additional owners allowed to use the returned media_id in Tweets or Cards. Up to 100 additional owners may be specified. - - See: - - - https://dev.twitter.com/rest/reference/post/media/upload-init - */ - - public func postMedia(media: NSData, additionalOwners: [String], success: ((status: Dictionary?) -> Void)? = nil, failure: FailureHandler? = nil) { - guard !additionalOwners.isEmpty else { return } - - let path: String = "media/upload.json" - var parameters = Dictionary() - parameters["media"] = media - parameters["additional_owners"] = additionalOwners.joinWithSeparator(",") - print(parameters["additional_owners"]) - parameters[Swifter.DataParameters.dataKey] = "media" - - self.postJSONWithPath(path, baseURL: self.uploadURL, parameters: parameters, success: { json, _ in - success?(status: json.object) - }, failure: failure) - } /** POST statuses/retweet/:id