有没有办法更改工具包以使用 beta 端点?

Is there a way to change the toolkit to use beta endpoint?

组件是否可以使用 beta 端点到 Microsoft Graph api,示例 <mgt-people-picker> selectedPeople returns 电子邮件作为 ScornedEmailAddress,其中 beta 端点 returns 它作为 RankedEmailAddress?

编辑:添加了我的代码

<script src=@string.Format("https://unpkg.com/@microsoft/mgt/dist/bundle/mgt-loader.js")></script>

    <script>

        const provider = new mgt.ProxyProvider("https://localhost:44375/api/GraphProxy");
        provider.login = () => window.location.href = '@Url.Action("SignIn", "Account")';
        provider.logout = () => window.location.href = '@Url.Action("SignOut", "Account")';

        provider.graph = mgt.BetaGraph.getGraph(provider);


        mgt.Providers.globalProvider = provider;
    </script>

编辑后的解决方案:

<script src=@string.Format("https://unpkg.com/@microsoft/mgt/dist/bundle/mgt-loader.js")></script>

    <script type="module">

        const provider = new mgt.ProxyProvider("https://localhost:44375/api/GraphProxy");
        provider.login = () => window.location.href = '@Url.Action("SignIn", "Account")';
        provider.logout = () => window.location.href = '@Url.Action("SignOut", "Account")';

        provider.graph._version = "beta";


        mgt.Providers.globalProvider = provider;
    </script>

今天,工具包根据组件需要调用的 api 在 beta 端点和 v1 端点之间切换。在未来的版本中,我们打算将其分成两个不同的包,一个总是调用 v1,一个总是调用 beta。

同时,您可以在创建提供程序时使用以下代码始终使用测试版:

import { Providers, MsalProvider } from '@microsoft/mgt'
import { BetaGraph } from '@microsoft/mgt/es6/BetaGraph.js';

let provider = new MsalProvider({
  clientId: 'a974dfa0-9f57-49b9-95db-90f04ce2111a'
});

provider.graph = BetaGraph.fromGraph(provider.graph);

Providers.globalProvider = provider;

请记住,BetaGraph 是一个内部 class,可能会在未来的版本中发生变化,并且仅供内部使用。