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

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

时间:2023-03-10 23:31:42浏览次数:47  
标签:Viva web Engage old SPFx API async

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);
});
}

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

标签:Viva,web,Engage,old,SPFx,API,async
From: https://blog.51cto.com/u_13969817/6113772

相关文章

  • how to write a webpack plugin by using webpack 5 and TypeScript All In One
    howtowriteawebpackpluginbyusingwebpack5andTypeScriptAllInOne如何使用webpack5和TypeScript编写一个webpack插件(......
  • how to write a webpack loader by using webpack 5 and TypeScript All In One
    howtowriteawebpackloaderbyusingwebpack5andTypeScriptAllInOne如何使用webpack5和TypeScript编写一个webpack加载器demoshttps://github.co......
  • 如何最简单的让应用使用上webp格式图片
    WebP是谷歌推出的适合于Web使用的图像格式,在保持同样质量的情况下,可比JPG减小40%的体积。把他使用到我们web应用图像优化上,无论对于用户还是公司都有巨大的意义。因......
  • 1_认识JAVAWEB项目结构
    -project项目的根目录-静态资源文件/jsp-WEB-INF受保护的资源目录     -libjar包目录     -classesjava字节码目录     -web.xml项目的配置......
  • 1_认识JAVAWEB项目结构
    -project项目的根目录-静态资源文件/jsp-WEB-INF受保护的资源目录     -libjar包目录     -classesjava字节码目录     -web.xml项目的配置......
  • 1_认识JAVAWEB项目结构
    -project项目的根目录-静态资源文件/jsp-WEB-INF受保护的资源目录     -libjar包目录     -classesjava字节码目录     -web.xml项目......
  • 1_认识JAVAWEB项目结构
    -project项目的根目录-静态资源文件/jsp-WEB-INF受保护的资源目录     -libjar包目录     -classesjava字节码目录     -web.xml项目......
  • JAVA WEB项目文件夹上传下载源代码
    ​ 一、功能性需求与非功能性需求要求操作便利,一次选择多个文件和文件夹进行上传;支持PC端全平台操作系统,Windows,Linux,Mac支持文件和文件夹的批量下载,断点续传。刷......
  • WEB安全基础(一)环境搭建
    WAMP搭建靶场W:windowsA:apacheM:mysql,mariadbP:php1.下载phpstudyphpstudy-windows面板(小皮面板)or-linux2.安装phpstudy下载完成后为压缩包phpStudy_64.zip......
  • Web客户端开发
    Web开发工具从高层次来看,可以将客户端工具放入以下三大类需要解决的问题中:安全网络—在代码开发期间有用的工具。转换—以某种方式转换代码的工具,例如将一种中间语......