【问题标题】:Post Video On Twitter Programmatically以编程方式在 Twitter 上发布视频
【发布时间】:2018-02-17 17:16:41
【问题描述】:

谁能告诉我如何在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
    }

【问题讨论】:

  • 请不要使用不相关的标签。您的问题与 Objective-C 编程语言无关。
  • @rmaddy 请不要删除我只需要的objective-c标签,因为它在swift或objective-c中都没有关系

标签: ios objective-c swift twitter


【解决方案1】:

上传视频与上传图片有很大不同。这基本上是一个两步的过程。首先,您将视频文件上传到 Twitter。其次,您创建一个引用上传视频的新推文。此外,您必须密切关注推特的requirements,了解视频的规格。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-15
    • 2023-03-20
    • 2017-03-29
    • 1970-01-01
    • 1970-01-01
    • 2016-12-11
    • 1970-01-01
    相关资源
    最近更新 更多