Microsoft Teams Client SDK不运行getContext回调

时间:2019-07-28 22:42:09

标签: javascript microsoft-teams

我尝试使用Microsoft Teams Client SDK来访问选项卡的当前上下文。到目前为止,我还无法运行getContext回调,更不用说返回可以以任何有意义的方式使用的上下文了。

我试图通过嵌入脚本来创建一个使用客户端SDK的静态html页面,然后记录该对象的上下文。 SDK会正确返回预期形状的对象,但是使用initialize()然后getContext()不会执行任何操作。我正在将该网站作为Microsoft团队内部的一个标签,创建一个新标签并将其设为网站标签。

<p>hello World!</p>
<script src="https://statics.teams.microsoft.com/sdk/v1.4.2/js/MicrosoftTeams.min.js" crossorigin="anonymous"></script>
<script>

console.log(microsoftTeams);
microsoftTeams.initialize();
microsoftTeams.getContext((context) => console.log(context));

</script>

这是我用来尝试将上下文注销到控制台的静态页面。

const http = require("http");
const fs = require("fs");

this.html;
fs.readFile("./src/index.html", (err, html) => {
    if (err) {
        throw new Error(err);
    } else {
        this.html = html;
    }
})

http.createServer((req, res) => {
    res.write(this.html);
    res.end();
}).listen(7777);

这是我用来返回静态html的服务器

我正在使用ngrok在端口7777上提供从Web到本地服务器的隧道。我可以使页面加载得很好,但是还没有获得getContext()来运行我的回调函数。

我希望能够在getContext()函数的回调中获取teams选项卡的上下文,但是该函数永远不会运行。

1 个答案:

答案 0 :(得分:0)

从“评论”部分移出答案:

使用默认网站应用创建的选项卡未获取Teams上下文,它必须是受信任的URL。您需要build custom Tabget context的“ Microsoft Teams”标签。

请查看使用App Studio创建Teams App清单的步骤。