在Office 365提供了webhooks
的功能,讓外部系統可以與Office 365進行溝通,因此,只要能開發相容或是本身有相容webhooks
定義,就可以讓外部系統把訊息傳遞到Office 365,因此,了解Office 365 webhook
可接受的傳遞的格式就很重要。由於本身webhooks
是透過Http
協定,所以,在哪一種平台上去開發,就部會是障礙,而格式內容是使用json
方式,這樣操作起來就更容易,在訊息Header
要加上
我們發送一個簡單文字格式,例如:
這樣就可以把訊息傳到O365中,不過,只是單純這樣的訊息似乎也太寒酸,所以,在整個O365的json
訊息中,又可以分為幾大塊模組,讓我們組出想要的訊息內容,只是每個欄位名稱必須符合O365定義,大概可以分成下面主要的幾大塊
- title
- Actions
- Sections
利用這些區塊就可以組出我們想要的資訊內容
title & text
title算是整個訊息的標題,不過,在不同服務內呈現樣貌會有一點不同,如果只有輸入下面這樣指令是不會Work的,若只想單純文字,只要用text
就可以
還必須加上內容才可以,內容用text
加入,不然是發送不出去
若是要在文字中加入超連結,這是可以,其寫法就跟寫Markdown
的超連結語法相同,用[]()
組合,像是
就可以做到具有超連結的文字
Actions
Actions的概念就像是在訊息中間帶入一個button
,可以讓人去點擊,不過,實作上在某些開發編輯器或是服務上會認為這樣語法是有錯誤,主要是因為有用到@context
和@type
這兩個屬性會被視為錯誤的json
格式,導致無法發送,這裡@type
中可以用的選項,可以參考http://schema.org/ViewAction了解有那些可以用
Sections
前面使用text
用來描述相關資訊,感覺似乎有一點點少,畢竟,某些時候這樣的資訊是不夠我們使用,因此,便會想要我擴充資訊內容,這時候就可以用Sections
加上Fact
的搭配,Sections
內則使用activityTitle
,activitySubtitle
,和activityText
做摘要性的描述,詳細描述則透過Fact
方式的Key & Value
概念去放入必要的資訊,另外,在使用Sections
時候,必須要先有title
和text
,只有單純sections
是會發生錯誤
這時候,再配上Fact
則可以填入更多的訊息,而Fact
內是搭配name
和value
方式把資訊填入,且可以有多組的Fact
,如果資訊過長,還會自動幫你摺疊訊息
利用webhook
方式再搭配json
資訊格式,看來要與Office 365做整合也就不是那樣困難了
參考資訊
1.https://dev.outlook.com/connectors/reference
2.http://schema.org/ViewAction