Teams App 掃描二維碼

上篇文章我們講了如何在app的manifest里設置設備的權限,這篇文章我們來實際操作開發一個可以掃描二維碼的teams app。

首先,我們先到app studio里,創建一個teams app,然后創建tab,重要的一點是,我們確保manifest.json里含有這么一段:

{"$schema": "https://developer.microsoft.com/json-schemas/teams/v1.10/MicrosoftTeams.schema.json","manifestVersion": "1.10",..."devicePermissions": ["media",],...
}

或者我們在app studio里確保這個被勾選。

Scan

這里就是說明這個app需要設備的媒體權限,也就是需要使用攝像頭的權限。

然后,按照標準的步驟來開發tab的配置頁面,這里我就不再展開了,可以查看我以前寫的文章:開發Teams Tabs應用程序。

在我們需要調用二維碼掃描的地方,我們使用如下的TypeScript代碼:

const config: microsoftTeams.media.BarCodeConfig = { timeOutIntervalInSec: 30 };
microsoftTeams.media.scanBarCode((error: microsoftTeams.SdkError, decodedText: string) =>
{if (error) {const extraErrorMessage = error.message ?? '';let errorMessage;switch (error.errorCode) {case 100: // NOT_SUPPORTED_ON_PLATFORMerrorMessage = '當前平臺不支持此API';break;case 500: // INTERNAL_ERRORerrorMessage = '內部錯誤';break;case 1000: // PERMISSION_DENIEDerrorMessage = '權限被用戶拒絕';break;case 3000: // NO_HW_SUPPORTerrorMessage = '底層硬件不支持此能力';break;case 4000: // INVALID_ARGUMENTSerrorMessage = '參數錯誤';break;case 8000: // USER_ABORTerrorMessage = '用戶取消操作';break;case 8001: // OPERATION_TIMED_OUTerrorMessage = '操作超時';break;case 9000: // OLD_PLATFORMerrorMessage = '平臺太老,不支持此API';break;default:errorMessage = '未知錯誤';break;}output('發生錯誤:' + errorMessage + ' ' + extraErrorMessage);}else if (decodedText) {// 成功,decodedText里是掃碼識別出的內容output(decodedText);}
}, config);

上面的代碼是typescript,如果大家使用的是javascript,基本類似,這里就不在具體列出。

如果一切都順利的話,當我們第一次開始掃碼的時候,會彈出一個確認權限的界面,如下:

Scan

圖片來源

如果同意之后,我們就可以開始掃碼了。

Scan

下篇文章我們再來看看如何獲取用戶的地理位置。敬請期待 :)

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

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

相關文章

關于我的知識星球服務

2019獨角獸企業重金招聘Python工程師標準>>> 今天剛開通了我的知識星球-攻城師在路上,歡迎大家加入,目前前50名按最低費用收費50元一年,后面會根據人數情況調整。 希望通過這么一個圈子,讓大家信息資源共享&#xff0c…

mysql8用戶管理

查看當前登錄用戶: 創建用戶: create user 用戶名主機地址 identified with mysql_native_password by 密碼; 修改密碼: alter user 用戶名主機地址 identified with mysql_native_password by 新密碼; 原因是:在mysql 5.7.9版本以…

Teams App設備的地理位置能力

我們上一篇文章講了如何在Teams app里掃描二維碼,這篇文章我們來看一下如何獲取當前設備的地理位置,并且在地圖上顯示地理位置。 首先,我們先到app studio里,創建一個teams app,然后創建tab,并且確保我們勾…

第4章 變量、作用域和內存問題

JavaScript高級程序設計第四章知識點梳理 1、基本類型值和引用類型值 基本類型值包括:Boolean、String、undefined、Number、Null 引用類型值:Object 注意:ECMAScript中所有函數的參數都是按值傳遞的。 2、延長作用域鏈 當執行流進入下列任何…

Teams App如何選擇用戶

當我們在開發app的時候,很多時候需要選擇一個用戶,比如我們開發一個審批的app,就要選擇審批人,所以這個app就需要實現選擇人的界面,而且需要獲取完整的用戶列表,但是要獲取完整的用戶列表又需要app擁有較高…

Python終端如何輸出彩色字體

Python終端如何輸出彩色字體 Python終端如何輸出彩色字體 實現過程:終端的字符顏色是用轉義序列控制的,是文本模式下的系統顯示功能,和具體的語言無關。轉義序列是以ESC開頭,即用\033來完成(ESC的ASCII碼用十進制表示是27&#xf…

ID4收藏

IdentityServer4.Admin https://github.com/skoruba/IdentityServer4.Admin轉載于:https://www.cnblogs.com/superstar/p/10757886.html

Teams Bot庫的JSON

如果你和我一樣,一直使用最新的 asp.net core 來開發teams bot的應用,那么你就會發現當你使用最新的 LTS 3.1版本或者 5.0 版本或者最新的 6.0 版本,asp.net core 默認使用System.Text.Json庫,所以當你在處理 Teams 發送來的請求的…

碼云如何上傳代碼

1.在碼云上創建一個項目,具體操作很簡單就不多說了 2.創建本地倉庫 在本地創建一個test文件夾,文件夾里右鍵Git Bash Here, 進入git。 git init初始化本地倉庫 git add . 把所有文件添加到暫存區 git commit -m “推送備注” 這里是每次推送時候寫的…

v-if v-else-if v-else

1.代碼 <!DOCTYPE html> <html> <head><meta charset"utf-8"><title>測試</title><script src"https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script> </head> <body><div id"ap…

Teams Bot如何解析和發送 at 用戶

之前有好些看博客的開發者問我有什么較好的方法來解析 at 信息。用戶在channel里發消息給 bot 的時候&#xff0c;通常需要 at bot的名字&#xff0c;當然在消息文字中可能還會 at 其他用戶&#xff0c;比如 bot的名字是 MyBot&#xff0c;那 bot 收到的 Activity 里的 Text 值…

關于Elemet-ui組件Cascader中proper的配置問題

最近做一個地區的二級聯動用上了Cascader組件&#xff0c;但是我的城市數據結構跟他 options的默認的結構不太一樣&#xff1b; 默認的結構如下&#xff1a; 我的數據結構是&#xff1a; 先說我的解決辦法&#xff1a; 一看我的數據結構跟他默認的數據結構不對勁&#xff0c;我…

將Teams app升級到net6

net6 發布已經有一個多月了&#xff0c;因為我的LuckyDraw app是使用Azure app service&#xff0c;當時我查了一下app service還沒有ready&#xff0c;昨天我又查看了一下&#xff0c;發現app service已經默認裝了net6。 那就是時候升級我的LuckyDraw了&#xff0c;如果大家的…

作為程序猿,一定要知道的電腦快捷鍵和Eclipse快捷鍵

2019獨角獸企業重金招聘Python工程師標準>>> 轉載自&#xff1a;Java資源社區 1. F2 當你選中一個文件的話&#xff0c;這意味著“重命名”2. F5 刷新3. CTRLF5 強行刷新4. F12另存為5. Alt &#xff0b;F4 關閉程序6. Home首行7. Ctrl Home游標移動到文字編輯的開…

QCustomplot(一) 能做什么事

閱讀目錄 一、QCustomPlot簡介二、效果預覽三、源碼下載四、相關文章回到頂部一、QCustomPlot簡介 之前在Qt之自繪制餅圖這篇文章的說明中我簡單的描述了下目前依賴于qt的第三方繪圖庫&#xff0c;此后我會針對自己使用QCustomPlot的情況做一總結&#xff0c;以方便大家參考 QC…

在Teams app代碼中enable nullable

昨天講了一下如何把代碼升級到 net6&#xff0c;今天我優化了好幾個小時更新代碼&#xff0c;enable了nullable。 c#的nullable我一直非常喜歡&#xff0c;它可以幫助開發人員&#xff0c;讓開發人員去思考&#xff0c;哪些地方需要可以為null&#xff0c;哪些地方不需要。它并…

shiro(一)簡介、理論知識

2019獨角獸企業重金招聘Python工程師標準>>> 開濤學shiro&#xff1a;http://jinnianshilongnian.iteye.com/blog/2018398 shirospirngmvc參考: https://www.cnblogs.com/sharpest/p/5865732.html http://peirenlei.iteye.com/blog/2086639 https://blog.csdn.net/c…

2019.04.24筆記

*&#xff09;關于swing 今天同學誤解了我的意思&#xff0c;以為我要用java代碼做頁面和圖形&#xff0c;給我推薦了swing。 swing真是眼熟&#xff0c;大學課程里的。通過后臺代碼操作頁面和圖形。記得當年大學時&#xff0c;swing就已經淪為一種過時的技術了。到現在&#x…

Teams 的 Meeting App

Teams 的 Meeting App 已經正式推出了一段時間&#xff0c;相應的文檔也已經較為完善了&#xff0c;我接下來會寫一系列的文章&#xff0c;來介紹如何開發一個自己的Meeting app。這篇文章作為這個系列的第一篇&#xff0c;將介紹 meeting app 是如何被使用的&#xff0c;有哪些…