在 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()
是异步方法,此时client
或graph
不可用,因此会提示“未定义”错误。
我们可以把provider.graph = BetaGraph.fromGraph(provider.graph);
放在另一个方法里。例如,我把它放在我的反应组件的构造函数中:
然后它工作正常,所有请求都使用 beta 端点
BR
我想从新测试版的 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()
是异步方法,此时client
或graph
不可用,因此会提示“未定义”错误。
我们可以把provider.graph = BetaGraph.fromGraph(provider.graph);
放在另一个方法里。例如,我把它放在我的反应组件的构造函数中:
然后它工作正常,所有请求都使用 beta 端点
BR