标签: office365api

如何将 Google 文档集成到 Web 应用程序中(预览、编辑、保存)

我想将google 文档集成到网络应用程序(Angular 10)中以进行预览、编辑和保存

我的服务器上存储有文档。我想使用存储在我的服务器上的谷歌文档预览文档(它可以存储在 Amazon S3 或 Azure 等)。

我想使用谷歌文档编辑该文档并将其保存回我的服务器(用户使用谷歌凭据登录并获得所有权限)。

我知道这一点: https: //docs.google.com/a/[DOMINIO]/viewer?url=[FILE_URL],但它用于预览,文件大小限制为 25 MB。

基本上我需要集成谷歌文档以在我的网络应用程序中预览、编辑和保存文档。

我想通过 Microsoft Office 365(需订阅)实现相同的功能。

如何实现这一目标?

google-docs google-docs-api google-document-viewer office365api angular

5
推荐指数
1
解决办法
2853
查看次数

Microsoft Graph API - 获取具有定义大小的个人资料图片

我已经使用统一 API 的测试版来获取尺寸为 48x48 的用户个人资料图片。现在我正在使用 Microsoft Graph API 并尝试获取此尺寸的个人资料图片。但我只得到 648x648 的...有没有办法得到 48x48 的图片?

这是我的要求:

https://graph.microsoft.com/v1.0/users/user@domain.com/photo
Run Code Online (Sandbox Code Playgroud)

这里是文档: http://graph.microsoft.io/docs/api-reference/v1.0/api/profilephoto_get

提前致谢!

此致,

阿杰

office365 office365api microsoft-graph-api

4
推荐指数
1
解决办法
8350
查看次数

尝试使用PowerShell使用Office 365统一API访问用户时,“ CompactToken解析失败,错误代码:-2147184105”

我正在尝试使用带有以下代码的Office 365统一API列出用户:

$TenantID = "xxx"
$F_ClientID = "yyy"
$F_ClientSecret = "zzz"

Add-Type @'
using System;
public class OAuthContext{
    public string AccessToken{get;set;}
    public string TokenType{get;set;}
    public string ExpiresIn{get;set;}
    public string RefreshToken{get;set;}
}
'@

$Uri = "https://login.microsoftonline.com/$($TenantID)/oauth2/token"
$ContentType = 'application/x-www-form-urlencoded'
$Headers = @{}
$Body = [System.Text.Encoding]::UTF8.GetBytes('grant_type=client_credentials&client_id='+$F_ClientID+'&client_secret='+$F_Clie    ntSecret+'&resource"=https://graph.microsoft.com')
$Response = Invoke-RestMethod -Method POST -Uri $Uri -Headers $Headers -ContentType $ContentType -Body $Body
$Response

$Context = New-Object OAuthContext
$Context.AccessToken = $Response.access_token
$Context.ExpiresIn = $Response.expires_in
$Context.RefreshToken = $Response.refresh_token
$Context.TokenType = $Response.token_type
$Context

$Headers = @{}
$Headers.Add('Authorization',$Context.TokenType …
Run Code Online (Sandbox Code Playgroud)

powershell office365 office365api azure-ad-graph-api office365-restapi

4
推荐指数
1
解决办法
7386
查看次数

Office 365加载项 - 如何隐藏任务窗格?

目前,我的任务窗格使用Ribbon ShowTaskPane命令显示.

 <Action xsi:type="ShowTaskpane">
Run Code Online (Sandbox Code Playgroud)

如何在Javascript中隐藏任务窗格?

干杯!

office365 office365-apps office365api office-js

4
推荐指数
1
解决办法
429
查看次数

Microsoft Graph REST API无效的客户端密钥

我需要进行以下POST调用.但是,即使我提供了正确的客户端ID和密码ID,我的电话也会被拒绝.

    curl POST https://login.microsoftonline.com/f02....e3/oauth2/token
 -H 'Content-Type: application/x-www-form-urlencoded'  --data 'grant_type=authorization_code&redirect_uri=https://requestb.in/ac&
source=https://graph.microsoft.com&client_id=1e1....-913d9
&client_secret=YmbSFYz.....4Uk=&scope=mail.read&code=AaAAA........on0a569'
Run Code Online (Sandbox Code Playgroud)

这是我收到的错误:

    curl: (6) Could not resolve host: POST
    {"error":"invalid_client","error_description":"AADSTS70002: 
Error validating credentials. AADSTS50012: Invalid client secret is
 provided.\r\nTrace ID: 78d...a2b\r\nCorrelation ID: 
01....ab2\r\nTimestamp: 2016-12-14 01:46:47Z","error_codes":[70002,50012],"timestamp":"2016-12-14 01:46:47Z","trace_id":"78d....a2b","correlation_id":"018.....ab2"}
Run Code Online (Sandbox Code Playgroud)

我怎么能解决这个问题?

编辑:我正在尝试在本文档中实现第二部分(即获取令牌)

curl azure office365api azure-ad-graph-api microsoft-graph

4
推荐指数
2
解决办法
6333
查看次数

Microsoft Graph上的批量限制为5?

在尝试创建用于批量更新用户日历的deamon应用程序时,我偶然发现了以下文档:

由于您似乎可以在"不要将此API用于新项目API"中批量(也称合并)最多20个请求,但您最多只能使用新的Microsoft Graph API组合5个请求.

我发现没有批处理创建和删除100个日历项目大约需要40秒.由于应用程序管理变得如此简单,我想使用新的API,但是有没有任何更改,5请求批量限制将被删除,让我们说20就像旧的API一样?

office365api microsoft-graph

4
推荐指数
1
解决办法
634
查看次数

Microsoft Graph API - 通过 internetmessageid 查找消息

我需要为两个用户 - John 和 Harry 之间的电子邮件交换找到 sessionId。在我的场景中:

  1. 约翰向哈利发送信息。
  2. 我有来自 John 发送的电子邮件的电子邮件元数据,例如 converstationId、internetMessageId、messageId(m$ 特定于用户的图)。
  3. 现在我想回复一下哈利。不幸的是,Harry 的converstionId 与John 不同,所以我不能使用它。我想做的是在 Harry 的收件箱中找到电子邮件消息对象并使用他的对话 ID。
  4. 有了有效的conversationId,我就可以代表Harry 调用replyAll。

我可以拨打这样的电话:GET /me/messages?$filter=internetMessageId eq abcd

email office365 office365api microsoft-graph-api

4
推荐指数
2
解决办法
2230
查看次数

Microsoft Graph API 邮件办公室 365:是否有任何选项创建收件箱邮件不是草稿?

我正在使用 Office 365 邮件 Microsoft Graph API ,尝试按照文档创建新消息:

https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/user_post_messages

POST https://graph.microsoft.com/beta/me/messages
Content-type: application/json

{
    "subject":"Did you see last night's game?",
    "importance":"Low",
    "body":{
        "contentType":"HTML",
        "content":"They were <b>awesome</b>!"
    },
    "toRecipients":[
        {
            "emailAddress":{
                "address":"AdeleV@contoso.onmicrosoft.com"
            }
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

{ 输出:

"@odata.context":"https://graph.microsoft.com/beta/$metadata#users('ad787b4f-1fda-4523-8e48-ffedb7f4635f')/messages/$entity",
"@odata.etag":"W/\"CQAAABYAAAAmXr9SsE/UR4PcnTZcg7qWAAAFS12t\"",
"id":"AAMkAGRWAAAFSmKXAAA=",
"createdDateTime":"2017-12-23T07:29:57Z",
"lastModifiedDateTime":"2017-12-23T07:29:58Z",
"changeKey":"CQAAABYAAAAmXr9SsE/UR4PcnTZcg7qWAAAFS12t",
"categories":[

],
"receivedDateTime":"2017-12-23T07:29:58Z",
"sentDateTime":"2017-12-23T07:29:58Z",
"hasAttachments":false,
"internetMessageId":"<MWHPR130@MWHPR130.namprd13.prod.outlook.com>",
"subject":"Did you see last night's game?",
"bodyPreview":"They were awesome!",
"importance":"low",
"parentFolderId":"AAMkAGRWAAAAAAEPAAA=",
"conversationId":"AAQkAGRVYAsRJrRdc_mWNaxU=",
"conversationIndex":"AQHTe7/VAniOJVgCxEmtF1z6ZY1rFQ==",
"isDeliveryReceiptRequested":false,
"isReadReceiptRequested":false,
"isRead":true,

       "isDraft":true,

"webLink":"https://outlook.office365.com/owa/?ItemID=AAMkAGRWAAAFSmKXAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
"inferenceClassification":"focused",
"unsubscribeData":[

],
Run Code Online (Sandbox Code Playgroud)

我看到的输出是收件箱中创建的草稿邮件。

我尝试使用 "isDraft":false 发布,但不幸的是结果相同:(

基本上我的目的是“恢复”原始收件箱消息,这意味着在收件箱中创建它们而不发送......我用 EWS 做到了,现在试图转换成图形 api

那么,是否有任何选项可以创建不是 Draft …

office365 office365-apps office365api microsoft-graph-api

4
推荐指数
1
解决办法
1854
查看次数

如何使用 Microsoft Graph API 创建当前用户不是组织者的活动

需要创建当前用户不是组织者的活动。我尝试使用以下代码来创建事件:

var eventsEndPoint=New Uri("https://graph.microsoft.com/v1.0/users/johndoe@some.com/events");

var postBody="{'Subject':'Testing Organizer - 12','Location':{'DisplayName':'Some place'}," +
        "'Start': {'DateTime': '2016-07-15T15:00:00.0000000', 'TimeZone':'UTC'}," +
        "'End': {'DateTime': '2016-07-15T15:30:00.0000000', 'TimeZone':'UTC'},"+
        "'Body':{'Content': 'This is a test of Grap API.', 'ContentType':'Text'},"+
        "'IsOrganizer':'False','Organizer':{'EmailAddress': "+"{'Address':'organizer@some.com'} }}";

var createBody = new StringContent(postBody, system.Text.Encoding.UTF8, "application/json");
HttpResponseMessage response = await httpClient.PostAsync(eventsEndPoint, createBody);
Run Code Online (Sandbox Code Playgroud)

事件已创建,但无论 IsOrganizer=false 且组织者设置为与创建事件的用户 (johndoe@some.com) 不同的用户,响应始终显示 IsOrganizer 设置为 true 且组织者用户是同一用户,而不是同一用户根据要求在组织者属性中设置的一个。

是否可以使用 Graph 设置不同的组织者?

c# office365api office365-restapi microsoft-graph-api

3
推荐指数
1
解决办法
2050
查看次数

通过 Office365 API 获取由 sessionId 过滤的消息

我在弄清楚如何使用 office365 api 获取给定conversationId.

假设我的对话 ID 是 AAQkADlkOGJmMTFmLTc2NjMtMKL3My04ZDhkLTVmZWNjMzA1ODY0NAAQAB11Xh2opSpBiXifMEJjhow=

我会提出这样的要求

https://outlook.office.com/api/v1.0/me/Messages?$filter=ConversationId%20eq%20AAQkADlkOGJmMTFmLTc2NjMtMKL3My04ZDhkLTVmZWNjMzA1ODY0NAAQAB11Xh2opSpBiXifMEJjhow=
Run Code Online (Sandbox Code Playgroud)

这会导致如下400响应:

{
  "error": {
    "code": "RequestBroker-ParseUri",
    "message": "Syntax error at position 98 in 'ConversationId eq AAQkADlkOGJmMTFmLTc2NjMtMKL3My04ZDhkLTVmZWNjMzA1ODY0NAAQAB11Xh2opSpBiXifMEJjhow='."
  }
}
Run Code Online (Sandbox Code Playgroud)

我尝试了其他事情,例如 url 编码的 sessionIdAAQkADlkOGJmMTFmLTc2NjMtMKL3My04ZDhkLTVmZWNjMzA1ODY0NAAQAB11Xh2opSpBiXifMEJjhow%3D导致相同的错误。

我还尝试简单地删除=似乎是吓坏它的角色

https://outlook.office.com/api/v1.0/me/Messages?$filter=ConversationId%20eq%20AAQkADlkOGJmMTFmLTc2NjMtMKL3My04ZDhkLTVmZWNjMzA1ODY0NAAQAB11Xh2opSpBiXifMEJjhow
Run Code Online (Sandbox Code Playgroud)

但这会导致以下错误

{
  "error": {
    "code": "RequestBroker-ParseUri",
    "message": "Could not find a property named 'AAQkADlkOGJmMTFmLTc2NjMtMKL3My04ZDhkLTVmZWNjMzA1ODY0NAAQAB11Xh2opSpBiXifMEJjhow' on type 'Microsoft.OutlookServices.Message'."
  }
}
Run Code Online (Sandbox Code Playgroud)

我还尝试弄乱 url 大写并使用+符号代替%20过滤器字符串,但我始终收到 400 个错误。

不过,我可以按其他字段进行过滤。例如

https://outlook.office.com/api/v1.0/me/Messages?$filter=IsRead%20eq%20true
Run Code Online (Sandbox Code Playgroud)

返回按我预期过滤的消息。

知道ConversationId过滤器会发生什么吗?

outlook office365 office365api office365-restapi

3
推荐指数
1
解决办法
1136
查看次数