Javascript 静态选项卡无法获取用户';语境
我在一个由bot组成的Teams应用程序上工作了一段时间。我需要包括一个选项卡,以允许我的应用程序向用户显示其他信息。 我仔细阅读了微软的文档 我今天的问题是,我没有在静态选项卡中获取用户信息 manifest.jsonJavascript 静态选项卡无法获取用户';语境,javascript,html,json,vue.js,microsoft-teams,Javascript,Html,Json,Vue.js,Microsoft Teams,我在一个由bot组成的Teams应用程序上工作了一段时间。我需要包括一个选项卡,以允许我的应用程序向用户显示其他信息。 我仔细阅读了微软的文档 我今天的问题是,我没有在静态选项卡中获取用户信息 manifest.json { "$schema": "https://statics.teams.microsoft.com/sdk/v1.0/manifest/MicrosoftTeams.schema.json", "manifestVersion": "1.0",
{
"$schema": "https://statics.teams.microsoft.com/sdk/v1.0/manifest/MicrosoftTeams.schema.json",
"manifestVersion": "1.0",
"version": "1.0.0",
"id": "{APP_ID}",
"packageName": "{PACKAGE_NAME}",
"developer": {
"name": "Maxence de OpenAgora",
"websiteUrl": "https://www.microsoft.com",
"privacyUrl": "https://www.microsoft.com/privacy",
"termsOfUseUrl": "https://www.microsoft.com/termsofuse"
},
"staticTabs": [
{
"entityId": "{IDENTITY_ID}",
"name": "{TAB_NAME}",
"contentUrl": "{CONTENT_URL}",
"websiteUrl": "{MY_WEBSITE_URL}",
"scopes": [
"team",
"personal"
]
}
],
"configurableTabs": [
{
"configurationUrl": "{MY_URL}/configuration_tab.html",
"canUpdateConfiguration": true,
"scopes": [
"team"
]
}
],
"permissions": [
"identity",
"messageTeamMembers"
],
"validDomains": [
"{MY_URL}"
]
}
文件中存在的所有URL都可以工作,并且可以由microsoft访问
configuration.html
<html>
<body>
<script src="https://statics.teams.microsoft.com/sdk/v1.0/js/MicrosoftTeams.min.js"></script>
<script type="text/javascript">
microsoftTeams.initialize();
microsoftTeams.settings.setSettings({
entityId: "{IDENTITY_ID}",
contentUrl: "{CONTENT_URL}",
suggestedDisplayName: "Max Agora",
websiteUrl: "{MY_WEBSITE_URL}",
removeUrl: "",
scope: ['team', 'personal']
});
microsoftTeams.settings.setValidityState(true);
</script>
</body>
</html>
我按照以下链接中的说明进行操作:
感谢您的时间和帮助您将无法在静态选项卡中获取与组相关的信息,因为在静态选项卡中调用getContext()方法时,您可以在groupid和channelid为空时获取upn和租户id,但我如何才能获取此信息?还有其他类型的选项卡吗?否则,我永远无法获取事件上下文(没有tenantID和upn),消息永远不会出现在我的消息字段中@SrinivasNaidu MSFT目前只有静态选项卡和可配置选项卡。您可以通过调用microsoftTeams.getContext((context)=>{console.log(context)})来更改的上下文;方法。只需记录context对象并在browsers developers tool窗口中进行检查。您将无法在静态选项卡中获取与组相关的信息,在静态选项卡中调用getContext()方法时,您可以在静态选项卡中获取upn和租户id,而groupid和channelid为emptyOkay,但如何才能获取此信息?还有其他类型的选项卡吗?否则,我永远无法获取事件上下文(没有tenantID和upn),消息永远不会出现在我的消息字段中@SrinivasNaidu MSFT目前只有静态选项卡和可配置选项卡。您可以通过调用microsoftTeams.getContext((context)=>{console.log(context)})来更改的上下文;方法。只需记录上下文对象并在浏览器开发人员工具窗口中进行检查。
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.2.13/semantic.css">
<title>VueJS Test</title>
</head>
<body>
<div class="ui inverted fixed menu">
<div class="header item">Tutoriel</div>
</div>
<div class="ui main container" id="app" style="padding-top: 50px">
<div class="ui message">{{ message }}</div>
</div>
<script src="https://statics.teams.microsoft.com/sdk/v1.0/js/MicrosoftTeams.min.js">
microsoftTeams.initialize()
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.3/vue.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue-resource/1.3.4/vue-resource.js"></script>
<script src="/public/js/app.js"></script>
<script>
</script>
</body>
</html>
let vue = new Vue({
el: '#app',
data: {
message: ""
},
mounted () {
this.message = "Test" // it works
microsoftTeams.getContext((context) => { this.message = "Toto" });//do nothings
microsoftTeams.getSettings((settings) => { this.message = "Toto" });//do nothings too
}
});
"contentUrl": "{CONTENT_URL}?name={upn}&tenant={tid}&group={groupId}"