Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 静态选项卡无法获取用户';语境_Javascript_Html_Json_Vue.js_Microsoft Teams - Fatal编程技术网

Javascript 静态选项卡无法获取用户';语境

Javascript 静态选项卡无法获取用户';语境,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",

我在一个由bot组成的Teams应用程序上工作了一段时间。我需要包括一个选项卡,以允许我的应用程序向用户显示其他信息。 我仔细阅读了微软的文档

我今天的问题是,我没有在静态选项卡中获取用户信息

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都可以工作,并且可以由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>
我按照以下链接中的说明进行操作:

我尝试了文档中提出的两种方法,SDK js和查询参数(通过修改manifest.json中的contentUrl):


感谢您的时间和帮助

您将无法在静态选项卡中获取与组相关的信息,因为在静态选项卡中调用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}"