以编程方式在Twitter上发布视频

时间:2017-09-08 18:03:43

标签: ios objective-c swift twitter

任何人都可以告诉我如何在Twitter上使用Twitterkit或其他任何方法(swift或objective-c)发布视频。我见过许多与此相关的帖子,但没有找到任何解决方案。我不想使用面料Api。 我使用下面的代码在twitter上上传图片并且效果很好,我可以使用此代码在修改后上传视频,如果有人知道如何使用此代码完成此操作。 感谢

func post(tweetString: String, tweetImage: Data ,withUserID :String) {

        let uploadUrl = "https://upload.twitter.com/1.1/media/upload.json"
        let updateUrl = "https://api.twitter.com/1.1/statuses/update.json"
        let imageString = tweetImage.base64EncodedString(options: NSData.Base64EncodingOptions())


        let client = TWTRAPIClient.init(userID: withUserID)

        let requestUploadUrl = client.urlRequest(withMethod: "POST", url: uploadUrl, parameters: ["media": imageString], error: nil)

        client.sendTwitterRequest(requestUploadUrl) { (urlResponse, data, connectionError) -> Void in
            if connectionError == nil {
                if let mediaDict = self.nsdataToJSON(data: (data! as NSData) as Data as Data as NSData) as? [String : Any] {
                    let media_id = mediaDict["media_id_string"] as! String
                    let message = ["status": tweetString, "media_ids": media_id]

                    let requestUpdateUrl = client.urlRequest(withMethod: "POST", url: updateUrl, parameters: message, error: nil)

                    client.sendTwitterRequest(requestUpdateUrl, completion: { (urlResponse, data, connectionError) -> Void in
                        if connectionError == nil {
                            if let _ = self.nsdataToJSON(data: (data! as NSData) as Data as Data as NSData) as? [String : Any] {
                                print("Upload suceess to Twitter")
                            }
                        }

                    })
                }
            }
        }
    }

    func nsdataToJSON (data: NSData) -> AnyObject? {
        do {
            return try JSONSerialization.jsonObject(with: data as Data, options: .mutableContainers) as AnyObject
        } catch let myJSONError {
            print(myJSONError)
        }
        return nil
    }

1 个答案:

答案 0 :(得分:1)

上传视频与上传图片有很大不同。它基本上分为两个步骤。首先,您将视频文件上传到Twitter。其次,您创建一个引用上传视频的新推文。此外,您必须密切关注Twitter requirements的视频规范。

Here是使用Python语言的示例。它使用TwitterAPI包。