0

我想从新的 beta 版本的 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 端点?

4

1 回答 1

1

@Frank-Ove 克里斯蒂安森,

您可以使用版本在特定请求上设置版本

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()是异步方法,当时client还是graph不可用,所以会提示“未定义”的错误。

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

在此处输入图像描述

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

BR

于 2021-01-15T08:22:03.803 回答