在 SharePoint spfx 的图形工具包中使用 Beta 端点

Use the Beta endpoint in the Graph Toolkit in SharePoint spfx

我想从新测试版的 Graph 中获取数据,特别是用户配置文件。 指定以下代码时

    let provider = new SharePointProvider(this.context);
    provider.graph = BetaGraph.fromGraph(provider.graph);
    Providers.globalProvider = provider;

我在 WebPart 中收到以下错误:

TypeError: Cannot read property 'client' of undefined at Function.fromGraph

有什么建议吗?我是否需要指定图形上下文对象以某种方式连接到 beta 端点?

@Frank-Ove Kristiansen,

您可以使用版本

根据特定请求设置版本
Providers.globalProvider.graph.client.api('/users').version('beta').get().then(v => {
    console.log(v);
});

而在mgt-get中,它有一个Version参数:

<mgt-get resource="/me" version="beta" 

//////////////////////////// 更新:

找到原因了。 . BetaGraph.fromGraph 将访问 Graph.client 并使用它来初始化一个新的 betagraph 实例。但是onInit()是异步方法,此时clientgraph不可用,因此会提示“未定义”错误。

我们可以把provider.graph = BetaGraph.fromGraph(provider.graph);放在另一个方法里。例如,我把它放在我的反应组件的构造函数中:

然后它工作正常,所有请求都使用 beta 端点

BR