Ios 如何在SWIFT 4中使用Twitter REST API发布直接消息

Ios 如何在SWIFT 4中使用Twitter REST API发布直接消息,ios,swift,rest,twitterkit,Ios,Swift,Rest,Twitterkit,我想实现使用TwitterRESTAPI向我的twitter朋友发送直接消息。我正在获取我所有的好友id并按下邀请按钮,以便从我的应用程序发送消息 以下是我正在使用的函数调用- func sendInviteMessage(_ client: TWTRAPIClient, recepientID: String){ let statusesShowEndpoint = " https://api.twitter.com/1.1/direct_messages/events/ne

我想实现使用TwitterRESTAPI向我的twitter朋友发送直接消息。我正在获取我所有的好友id并按下邀请按钮,以便从我的应用程序发送消息

以下是我正在使用的函数调用-

func sendInviteMessage(_ client: TWTRAPIClient, recepientID: String){

        let statusesShowEndpoint = " https://api.twitter.com/1.1/direct_messages/events/new.json"
        let params = ["recipient_id": recepientID,"message_data":"Hello","type":"message_create"]
        var clientError : NSError?

        let request = client.urlRequest(withMethod: "POST", urlString: statusesShowEndpoint, parameters: params, error: &clientError)

        client.sendTwitterRequest(request) { (response, data, connectionError) -> Void in
            if connectionError != nil {
                print("Error: \(String(describing: connectionError?.localizedDescription))")
            }

            do {
                let json = try JSONSerialization.jsonObject(with: data!, options: [])
                print("json: \(json)")

            } catch let jsonError as NSError {
                print("json error: \(jsonError.localizedDescription)")
            }
        }

    }

当我点击“邀请”按钮时,它会给出不受支持的url响应。

参数不正确。您可以使用MutableURLRequest


所需参数为send@V_rohit-你能在这个专业提示上帮助我吗:看起来你的大多数问题都是这样的长度,它们不适合堆栈溢出。我们希望问题能够详细地阐述问题,并展示一些已经尝试过的东西,或其他先前的研究/努力。你可能会发现,如果你先前提出的一些(离题)问题被搁置,其中许多问题应该被搁置,那么你的账户可能会被自动禁止提问。在这种情况下,你可以把你的标题放到搜索引擎中,自己研究这个问题。然后,您可以尝试一段代码,努力了解它们是如何工作的,如果遇到问题,可以提出一个问题。显示您尝试过的代码啊,设置参数:为零并使用request.httpBody确实帮助了我。谢谢
let params = [
              "event": [
                "type":"message_create",
                "message_create": [ 
                  "target": ["recipient_id": recepientID],
                  "message_data": ["text": "Hello"]
                ]
              ]
            ]
var request = client.urlRequest(withMethod: "POST", 
                                 urlString: statusesShowEndpoint, 
                                parameters: nil, 
                                     error: &clientError)
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = try? JSONSerialization.data(withJSONObject: params, options: [])