在Teams中對網站的URL特殊解析

Teams中有一個不太被大家注意的擴展點,名字叫Link unfurling,就是對于一些特殊域名的URL進行特別的解釋。

可能這么說,大家還是無法理解,我們看一下下面這個圖,當用戶在message輸入框中輸入了一竄url后,Teams會按照自己本身的一種規則來對URL指定的網頁產生預覽。但是如果你想要生成你自己的特殊的預覽卡片的話,就需要這種擴展了。

Teams

一說到時間,就會聯想到時區,夏令時等頭痛的問題,不同國家有不同國家的規定。如果你希望你的Teams Bot可以判斷出當前用戶所在的時區,從而可以針對性的進行一些處理時,你要做好心理準備,這個復雜程度遠遠超過你的想象。因為一個用戶這次在一個時區內登入Teams,下一次可能就在另一個時區了。

怎么做呢?很簡單,兩步,首先現在你的app的manifest文件中申請一下你的bot可以支持這種功能,值得一提的是,你可以同時指定多個域名哦。


"composeExtensions": [{"botId": "abc123456-ab12-ab12-ab12-abcdef123456","messageHandlers": [{"type": "link","value": {"domains": ["*.specialdomain.com"]}}]}
],

如果你使用App Studio,也可以。在Message Extension頁里,找到Message Handlers,然后就可以一個個的添加你的預覽的域名。

第二步,你需要讓你的bot能夠處理“composeExtension/queryLink”這種命令。

如果你使用的是C#,代碼類似于:

protected override async Task<MessagingExtensionResponse> OnTeamsAppBasedLinkQueryAsync(ITurnContext<IInvokeActivity> turnContext, AppBasedLinkQuery query, CancellationToken cancellationToken)
{// 訪問query.link來分析這個網頁var card = new ThumbnailCard{Title = "你所希望顯示的標題",Text = "你所希望顯示的文字",Images = new List<CardImage> { new CardImage("https://yourimages.com/yourimage.png") },};var attachments = new MessagingExtensionAttachment(HeroCard.ContentType, null, card);var result = new MessagingExtensionResult(AttachmentLayoutTypes.List, "result", new[] { attachments }, null, "mytest");return new MessagingExtensionResponse(result);
}

如果使用的是nodejs:

class TeamsLinkUnfurlingBot extends TeamsActivityHandler {handleTeamsAppBasedLinkQuery(context, query) {// 訪問query.url來分析這個網頁const attachment = CardFactory.thumbnailCard('你所希望顯示的標題',query.url,['https://yourimages.com/yourimage.png']);const result = {attachmentLayout: 'list',type: 'result',attachments: [attachment]};const response = {composeExtension: result};return response;}
}

當前版本的Teams并不支持所有的卡片格式,到寫這篇博客為止只支持以下幾種:

  • Hero card
  • Thumbnail card
  • Adaptive Card
  • Office 365 Connector card

趕快寫一個你的app試試看吧

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/277997.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/277997.shtml
英文地址,請注明出處:http://en.pswp.cn/news/277997.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Wireshark 在Windows下的安裝

1、wireshark官網地址&#xff1a;https&#xff1a;//www.wireshark.ort/ 下載抓包驅動&#xff1a;windows使用winpcap&#xff0c;Linux使用libcap2、安裝下載好的wireshark程序包&#xff1a;3、安裝winpcap插件&#xff1a;4、安裝USBPcap插件&#xff1a;5、安裝完成&…

Teams團隊的成員列表API的已知問題

如果大家經常使用Graph API來對Teams進行操作管理的話&#xff0c;有時候會遇到一些奇怪的問題&#xff0c;我前兩天還在Stack Overflow上回答了一個用戶的問題&#xff0c;這個問題我自己也遇到過。所以我想用這篇文章來分享一下&#xff0c;萬一以后大家遇到類似的問題&#…

OSChina 周三亂彈 —— 爸爸說,這個是從他硬盤里掉出來的

2019獨角獸企業重金招聘Python工程師標準>>> Osc亂彈歌單&#xff08;2018&#xff09;請戳&#xff08;這里&#xff09; 【今日歌曲】 煥煥 &#xff1a;分享鄭秀文的單曲《唉聲嘆氣》 《唉聲嘆氣》 手機黨少年們想聽歌&#xff0c;請使勁兒戳&#xff08;這里&am…

改進的二分查找

1 import java.util.Comparator;2 3 public class MyUtil {4 5 public static <T extends Comparable<T>> int binarySearch(T[] x, T key) {6 return binarySearch(x, 0, x.length- 1, key);7 }8 9 // 使用循環實現的二分查找 10 public static…

LuckyDraw app被評為Microsoft365 App Award

今天查了一下LuckyDraw app&#xff0c;突然發現我上半年開發的Teams app: LuckyDraw&#xff0c;竟然多了一個勛章圖標&#xff0c;點進去一看是微軟給我的app評了一個”Microsoft 365 App Award”。Super surprise!!&#x1f60d;&#x1f60d;&#x1f60d; 看來我必須要抓…

Python學習筆記__10.4章 進程VS線程

# 這是學習廖雪峰老師python教程的學習筆記1、概覽我們介紹了多進程和多線程&#xff0c;這是實現多任務最常用的兩種方式。現在&#xff0c;我們來討論一下這兩種方式的優缺點要實現多任務&#xff0c;通常我們會設計Master-Worker模式&#xff0c;Master負責分配任務&#xf…

Filebeat占用內存和CPU過高問題排查

經反饋&#xff0c;新部署的服務器上filebeat占用的cpu過高&#xff0c;且內存只增不減。 而據我了解filebeat非常輕量級&#xff0c;正常情況下占用的資源幾乎都能忽略不計&#xff0c;所以懷疑是filebeat本身出了問題。 第一時間查看filebeat日志&#xff08;默認路徑/var/lo…

Teams架構剖析(2019年版本)

在上個月剛剛結束的Ignite大會上&#xff0c;Teams產品的架構師Bill Bliss給大家奉上了最新的Teams的架構設計&#xff0c;之前2017年和2018年微軟的技術大會上都Teams架構的分享&#xff0c;但是今年大神把Teams架構講得很深入&#xff0c;覆蓋面很廣。我這里就挑一些&#xf…

pycharm工具下代碼下面顯示波浪線的去處方法

近期安裝了python后&#xff0c;發現使用pycharm工具打開代碼后發現代碼下邊會有波浪線的顯示&#xff1b;但是該代碼語句確實沒有錯誤&#xff0c;通過查詢發現了兩種方法去掉該波紋的顯示&#xff0c;下面就具體說明一下&#xff1a; 方法一&#xff1a; 打開pycharm在右下方…

js面向對象與PHP面向對象總結

js面向對象&#xff1a; 1.什么是對象&#xff1f; 對象&#xff1a;任何實體都是對象&#xff0c;擁有屬性和方法兩大特征 屬性&#xff1a;描述事物的特點&#xff1b; 方法&#xff1a;實物擁有的行為&#xff1b; 2.在JS里 Person.name"zhang" Person.fnfunction…

面向全球用戶的Teams app之Culture數字篇

我前幾周在微軟Ignite the Tour北京大會上&#xff0c;分享了如何開發一款面向全世界用戶的Teams App&#xff0c;里面介紹了在開發Global Ready的app時會遇到的各種挑戰&#xff0c;反響很好。所以我準備寫幾篇文章&#xff0c;將這些內容分享給沒有時間參加大會的同學。 這篇…

Dubbo原理與框架設計

Dubbo是常用的開源服務治理型RPC框架&#xff0c;在之前osgi框架下不同bundle之間的方法調用時用到過。其工作原理和框架設計值得開源技術愛好者學習和研究。 一、Dubbo的工作原理 調用關系說明 服務容器負責啟動&#xff0c;加載&#xff0c;運行服務提供者。服務提供者在啟動…

面向全球用戶的Teams app之Culture計量單位和禁忌篇

我在前一篇文章里分享了Global Ready的app時會遇到的不同文化對于數字方面的挑戰。這篇我繼續分享不同文化對于計量單位和禁忌方面的挑戰。 我們先來看一個例子&#xff0c;假如有一個teams bot&#xff0c;它告訴你一些動物的速度&#xff0c;比如它告訴你&#xff1a; 獵豹能…

【我的Android進階之旅】Android自定義Lint實踐

背景 2017年8月份的時候&#xff0c;我在公司開始推廣Lint、FindBugs等靜態代碼檢測工具。然后發現系統自帶的Lint檢測的Issue不滿足我們團隊內部的特定需求&#xff0c;因此去自定義了部分Lint規則。這個檢測運行了大半年&#xff0c;運行良好&#xff0c;團隊的代碼規范也有了…

存儲結構與索引

一、SQL數據存儲的基本介紹 數據庫中的數據存儲涉及頁&#xff08;Page&#xff09;和區&#xff08;Extent)這兩個概念了。SQL server中數據存儲的基本單位是頁。為數據庫中的數據文件&#xff08;.mdf或.ndf&#xff09;分配的磁盤空間可以從邏輯上劃分成頁&#xff08;從0到…

面向全球用戶的Teams app之時區篇

我在前兩篇文章里分享了Global Ready的app時會遇到的不同文化的挑戰。這篇我繼續分享在時區方面的挑戰。 時間是最復雜的&#xff0c;最容易出錯的部分。時間復雜的最根本原因是時區問題。 首先&#xff0c;大家都知道&#xff0c;我們地球是圓的&#xff0c;這個意味著如果大…

Linux: Nginx proxy_pass域名解析引發的故障

背景 業務架構&#xff1a; 部署細節&#xff1a;  兩容器均部署在同一機器上&#xff0c;通過 docker-compose 編排&#xff0c;并且通過link方式鏈接。 故障描述 在有次更新代碼時&#xff0c;發現前端能夠打開&#xff0c;但是所有接口請求全是502(Bad GateWay) 故障排查 …

Oracle建立全文索引詳解

Oracle建立全文索引詳解1.全文檢索和普通檢索的區別 不使用Oracle text功能&#xff0c;當然也有很多方法可以在Oracle數據庫中搜索文本&#xff0c;比如INSTR函數和LIKE操作&#xff1a; SELECT *FROM mytext WHERE INSTR (thetext, Oracle) > 0; SELECT * FROM mytext WHE…

面向全球用戶的Teams app之夏令時篇

我在前兩篇文章里分享了Global Ready的teams app時會遇到的不同挑戰。這篇我繼續分享在夏令時方面的挑戰。 夏令時&#xff0c;主要是為了節約能源&#xff0c;英文里通常縮寫成DST(Daylight Saving Time)。一般在天亮早的夏季人為將時間調快一小時&#xff0c;可以使人早起早…

爬取全部的校園新聞

1.從新聞url獲取新聞詳情&#xff1a; 字典,anews 2.從列表頁的url獲取新聞url&#xff1a;列表append(字典) alist 3.生成所頁列表頁的url并獲取全部新聞 &#xff1a;列表extend(列表) allnews *每個同學爬學號尾數開始的10個列表頁 4.設置合理的爬取間隔 import time import…