0
点赞
收藏
分享

微信扫一扫

如何从SPFx Solution连接old API,为Viva Connections构建web部件、扩展、团队应用程序

Yammer现在更名为Viva Engage,在本文中,我将介绍如何从SPFx Solution连接old API,为Viva Connections构建web部件、扩展、团队应用程序等。

关于授权Viva Engage 权限,请参照上一篇​​blogs​​

使用SPFx的Viva Engage API,首先从Yammer/Viva Engage API获取内容,您需要获取令牌,然后才能查询端点并获取数据或向Viva Engage发布帖子。

前面提到的Yammer API是旧的,并没有涵盖平台支持的所有新功能,为了演示它的工作原理,我将使用我的GitHub上也提供的SPFx web部件来显示Viva Engage在SharePoint中的信息。

1.      在主web部件文件中,首先添加以下导入

import { AadTokenProvider, HttpClient, HttpClientResponse} from '@microsoft/sp-http';

2.      创建一个asyn function以获取API令牌

private async getViVaEngageToken(){

const tokenProvider: AadTokenProvider = await this.context.aadTokenProviderFactory.getTokenProvider();

await tokenProvider.getToken("https://api.yammer.com").then(async token => {

this.vivaEngageToken = token;

});

}

3.      将onInit方法更改为async并调用token function

4.      使用令牌查询端点,在下面的示例中,我从Viva Engage获取最新的帖子

private async getPosts() {

let tempData: any;

await this.context.httpClient.get(`https://api.yammer.com/api/v1/messages.json?limit=30&threaded=true`,

HttpClient.configurations.v1,

{

headers: {

"Authorization": `Bearer ${this.vivaEngageToken}`,

'Content-type': 'application/json'

}

}

).then((response: HttpClientResponse) => {

return response.json();

}).then((data: object) => {

tempData = data;

tempData.messages.forEach((message: any) => {

this.vivaEngagePosts += `${message.body.plain}`;

});

}, (err: any): void => {

console.log(err);

});

}

谢谢大家阅读,若大家日后有其他需求讨论,欢迎线下联系。

举报

相关推荐

0 条评论