簡體   English   中英

處理來自Slack的發布請求

[英]Processing Post Request from Slack

我已經設置了一個asp.net MVC Web應用程序來捕獲發布請求。 我已設置斷點以查看正在傳遞的信息。 單擊交互式按鈕時,會觸發我的斷點,但該對象沒有詳細信息。 當我將鼠標懸停在value時,它只是說{Object}。 當我使用Postman並發送原始JSON主體時,它會顯示JSON。 請問我怎么處理發送的松弛對象?

public void Post(object value)
{
    // breakpoint here
}

對於交互式消息,Slack發送標准POST請求,其中包含一個名為payload的單一表單數據編碼參數。 此參數包含實際請求的數據作為JSON字符串。

您可以使用以下參數使用Postman模擬這個:

  • 請求類型:POST
  • 標題: Content-Type: application/x-www-form-urlencoded
  • 正文: form-datakey = payloadvalue = JSON字符串。

因此,正如您所假設的那樣,正文不是完全JSON,而是包含帶有JSON編碼字符串的表單參數。 如果您相應地更改了應用程序,它將起作用。

在c#中,您可以使用Request["payload"]訪問payload參數的內容(請參閱此答案或詳細信息)。

然后,您仍然需要將JSON字符串解碼為對象。 一種簡單的方法是使用JavaScriptSerializer.Deserialize (有關詳細信息和替代方法,請參閱此答案 )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM