如何通过Microsoft graph api 给Office365 Outlook event添加附件?How to add attachment to o365 outlook event?

 

 


前言

例如:随着现代应用智能化,移动化,数据交互性越来越频繁,业务变更越来越快的需求越来越旺盛。一个好的API接口可以让服务业务功能更新变得简单。

一、Microsoft graph 简介

Microsoft Graph 是 Microsoft 服务(Office365和Azure ARM)中通往数据和智能的网关。 它提供了统一的可编程性模型,可用于访问 Azure ARM、Microsoft 365、Windows 10 和企业移动性 + 安全性中的大量数据。 利用 Microsoft Graph 中的大量数据针对与数百万名用户交互的组织和客户构建应用。以此来让自身业务数据更加方便的集成利用起来,打通各个业务直接数据交互,数据调用的壁垒,方便依据数据资本来对公司的未来做前瞻性的构架。

二、MS Graph 种类

1、O365 Graph

microsoft-graph-dataconnect-connectors-rebrand-800.pnguploading.4e448015.gif正在上传…重新上传取消

在 Microsoft 365 平台中,这三大组件让数据访问和传输变得轻松:

  • Microsoft Graph API 提供了单个终结点 https://graph.microsoft.com,它让你能够访问作为 Microsoft 365 服务资源公开的、以人为中心的丰富数据和见解。 您可以使用 REST Api 或 Sdk 来访问终结点,并生成支持各种工作效率、协作、教育、人员和工作区智能等内容的应用程序。 Microsoft Graph 还包含一组功能强大的服务,可管理用户和设备的身份、访问、合规性、安全性,并帮助保护组织避免数据泄露或丢失。
  • Microsoft Graph 连接器(预览版)在传入的方向上工作,将 Microsoft 云外部的数据传递到 Microsoft Graph 服务和应用程序,以增强 Microsoft 搜索等 Microsoft 365 体验。
  • Microsoft Graph 数据连接提供了一组工具,让你能向热门的 Azure 数据存储安全、可扩展性地交付 Microsoft Graph 数据。 此缓存数据充当 Azure 开发工具的数据源,可用于构建智能应用程序。

Microsoft Graph API、连接器(预览版)和数据连接三者结合,可为 Microsoft 365 平台助力。 借助可访问 Microsoft Graph 数据和其他见解来获得见解和分析结果的能力,你可扩展 Microsoft 365 体验,或构建唯一而智能的应用程序

2. Azure Resource Graph

Azure Resource Graph 是 Azure 中的一项服务,旨在通过提供高效和高性能的资源浏览来扩展 Azure 资源管理器,它能够跨给定的订阅组进行大规模查询,使你能够有效地管理环境。 这些查询提供以下功能:

  • 通过复杂筛选、分组和按资源属性排序来查询资源的功能。
  • 基于治理要求以迭代方式浏览资源的功能。
  • 评估在大量云环境中应用策略所产生的影响的功能。
  • 能够详细说明对资源属性所做的更改(预览版)。

三、通过O365 Graph API 给outlook event 添加附件

1. 前提条件

          a> 一个microsoft Office 365 账号,一个有效的Office 365 订阅。

          b> 利用账号,在Calender里面添加一个测试的event, 不要带附件。

2.   利用Microsoft  graph  explorer或者Postman登录自己的账号,并记录Access token。

3.   准备以下powerShell 代码功能块备用。此代码块的功能是把需要添加的内容转换成base64位的字节码。用于在添加附件时,写入TXT格式的文本附件。

# Convert string to base64 string

function ConvertTo-Base64String([string]$string)

{

    $byteArray = [System.Text.UnicodeEncoding]::Unicode.GetBytes($string)

    [Convert]::ToBase64String( $byteArray )

}

 

# Convert base64 string to string

function ConvertFrom-Base64String([string]$string)

{

    $byteArray = [Convert]::FromBase64String($string)

    [System.Text.UnicodeEncoding]::Unicode.GetString($byteArray)

}

 

4. 测试步骤

$string = "test event attachment file upload"

$strb64 = ConvertTo-Base64String $string

dABlAHMAdAAgAGUAdgBlAG4AdAAgAGEAdAB0AGEAYwBoAG0AZQBuAHQAIABmAGkAbABlACAAdQBwAGwAbwBhAGQA

body 封装:

Content-type: application/json

Content-length: 151

{

    "@odata.type": "#microsoft.graph.fileAttachment",

    "name": "menu.txt",

    "contentBytes": "dABlAHMAdAAgAGUAdgBlAG4AdAAgAGEAdAB0AGEAYwBoAG0AZQBuAHQAIABmAGkAbABlACAAdQBwAGwAbwBhAGQA"  

}

 

 

此附件内容可以打开,我们可以发现,记事本文件的内容和我们的base64的字节码代表的内容匹配。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值