我在由bot组成的团队应用程序上工作了一段时间。我需要包含一个标签,以允许我的应用向用户显示其他信息。 我仔细地关注了微软文档。
我今天的问题是我没有在静态标签中获取用户信息。
的manifest.json
{
"$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都可以使用,并且可以通过微软访问。
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>
index.html (= {CONTENT_URL})
<!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>
/public/app.js :我使用此文件测试上下文并显示它,但回调从未调用
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
}
});
我按照以下链接的说明进行操作:
我尝试了文档中提出的两种方法,SDK js和查询参数(通过修改 manifest.json 中的 contentUrl ):
"contentUrl": "{CONTENT_URL}?name={upn}&tenant={tid}&group={groupId}"
感谢您的时间和帮助