我正在尝试将一个小部件放入Web应用程序(Youtrack)中,该小部件将调用Microsoft Graph API从Teams检索数据(这是我发现类似功能的唯一方法)。
该小部件只能与JS一起使用,因此我在图API JS实现上找到了一些资料。首先,我天蓝色地注册了一个应用程序以获取客户端ID,然后从这些来源中,我整理了一些只执行一个简单API请求的代码。
以下是材料:
https://docs.microsoft.com/en-us/graph/toolkit/providers/teams(团队提供者)
https://docs.microsoft.com/en-us/graph/sdks/choose-authentication-providers?tabs=Javascript(设置提供程序)
https://docs.microsoft.com/en-us/graph/teams-list-all-teams(API用法)
<script src="https://unpkg.com/@microsoft/teams-js/dist/MicrosoftTeams.min.js" crossorigin="anonymous"></script>
<script src="https://unpkg.com/@microsoft/mgt/dist/bundle/mgt-loader.js"></script>
...
<script type="text/javascript">
const clientId = "xyz"; // Client Id of the registered application
const callback = (errorDesc, token, error, tokenType) => { };
const graphScopes = ["user.read", "mail.send"];
const userAgentApplication = new MSAL.UserAgentApplication(clientId, undefined, callback);
const authProvider = new MicrosoftGraph.ImplicitMSALAuthenticationProvider(userAgentApplication, graphScopes);
const options = {
authProvider,
};
const Client = MicrosoftGraph.Client;
const client = Client.initWithMiddleware(options);
client.api('/teams/{group-id}').get(); //{group-id} - here is a group id
</script>
我可能离正确的解决方案还很远,但是仅凭文档我就无法弄清楚如何执行此简单任务。
脚本现在显示:“未定义MSAL”。
如果有人能指出正确的方向,我可能会误以为是,我真的会很感激。