小编Mar*_*eur的帖子

Checkin/chekout文件时Sharepoint`不支持的段类型`

我想在OneDrive REST API上使用checkout/checkin功能:https: //docs.microsoft.com/en-us/onedrive/developer/rest-api/api/driveitem_checkout

我面临两个问题:

第一个问题 - 文件信息API返回publication属性published,即使手动检出文件也是如此

请求:

https://graph.microsoft.com/v1.0/sites/SITE_ID/drive/items/FILE_ID?select=name,id,publication

响应:

{
    "id": "01KJOOXJHF77OPSR7HWVCKSTHBQJQZEBJI",
    "name": "diamond.mmap",
    "publication": {
        "level": "published",
        "versionId": "2.0"
    }
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

第二期 - 结账/签到端点的奇怪响应:

我正在使用此处定义的端点 https://docs.microsoft.com/en-us/onedrive/developer/rest-api/api/driveitem_checkout

例如 https://graph.microsoft.com/v1.0/sites/SITE_ID/drive/items/FILE_ID/checkout

回复:

{
    "error": {
        "code": "BadRequest",
        "message": "Unsupported segment type. ODataQuery: sites/fe688d8ed4a2/drive/items/01KJOQZEBJI/checkout",
        "innerError": {
            "request-id": "a7d18555-3e74-4aea-ad92-539481f6c33b",
            "date": "2018-02-21T09:17:00"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有想过我错过了什么?

rest sharepoint onedrive microsoft-graph

7
推荐指数
1
解决办法
406
查看次数

InvalidAuthenticationToken - CompactToken解析失败,错误代码:-2147184105

我使用V1以获得来自Microsoft REST API的令牌.(我们有Office 365租户,我曾经成功获得所有资源,但没有任何问题.

clientId =8a67......de4b6
clientSecret =J58k8....5EU=
redirectUri =http://example.com...
resourceUrl =https://graph.microsoft.com
authority = https://login.microsoftonline.com/f02633....a603/oauth2/token
Run Code Online (Sandbox Code Playgroud)

https://login.microsoftonline.com/f0263...0be3/oauth2/authorize?client_id=8a6..b6&redirect_uri=http://example.com&response_type=code&scope=mail.read

它给了我一个在JWT上结构如下的令牌.它表示无效签名但不确定是什么问题.

一旦我有了令牌,我就尝试了下面的卷曲调用

curl -i https://graph.microsoft.com/v1.0/me/messages -H 'Content-Type: application/x-www-form-urlencoded' -H 'Authorization: Barer eyJ.[TOKEN]...UNa6nfw'
Run Code Online (Sandbox Code Playgroud)

而不是消息,我收到以下错误:

HTTP/1.1 401 Unauthorized
Content-Type: application/json; charset=utf-8Cl23
Server: Microsoft-IIS/8.5
request-id: af2390b1-a9b...5ab9
client-request-id: af2390,....a615ab9
x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"West US","Slice":"SliceA","ScaleUnit":"000","Host":"AGSFE_IN_4","ADSiteName":"WST"}}
X-Powered-By: ASP.NET
Date: Thu, 19 Jan 2017 23:55:43 GMT
Content-Length: 268

{
  "error": {
    "code": "InvalidAuthenticationToken",
    "message": "CompactToken parsing failed with error code: -2147184105",
    "innerError": {
      "request-id": "af2390b1-...5ab9",
      "date": "2017-01-19T23:55:44"
    }
  } …
Run Code Online (Sandbox Code Playgroud)

azure-active-directory microsoft-graph

6
推荐指数
1
解决办法
5201
查看次数

单击任务窗格内容并立即滚动工作表会导致Excel无响应

重现步骤:

  1. 单击任务窗格内容中的任何内容.
  2. 将鼠标移到工作表上(不要点击任何内容).
  3. 在工作表上滚动鼠标滚轮.
  4. 请注意,Excel变得无法响应.
  5. 最小化然后恢复Excel.请注意,Excel再次响应.

我能够使用Visual Studio中的基本Excel加载项项目模板重现这一点.

我目前正在使用最新版本的Excel(16.0.7726.1030).

任何解决方法?

谢谢!

excel office-js

6
推荐指数
1
解决办法
256
查看次数

重置用户密码

我正在尝试通过非交互式登录在 Azure Active Directory 中找到重置用户密码(所有用户,而不仅仅是经过身份验证的用户)的解决方案。

现在看来,这只能通过使用服务主体登录的powershell 的 MSOnline Set-AzureADUserPasswordcmdlet获得。

我想找到一个使用 API 端点的解决方案,以便我可以使用 C#。我找到的最接近的解决方案是Microsoft Graph API,但在设置之后,我意识到我只能通过交互式登录和同意流程重置密码。不允许通过非交互式。

我的下一次尝试是使用Azure AD 端点,但我担心的是我看到了建议我们使用 Microsoft 图形 API 的相同消息。这是否意味着 Azure 广告端点将消失?

是否有不使用 PowerShell 的推荐方法?

azure-ad-graph-api microsoft-graph-api

6
推荐指数
1
解决办法
5446
查看次数

OneDrive的MS Graph Api:共享文件没有增量和Webhook推送

我正在为OneDrive测试Graph Api。

出于测试目的,我都收听webhook订阅,并每10秒轮询一次增量

我注意到,如果我创建/删除“任何人都可以访问”“公司中所有人”类型的共享链接(文件或文件夹),则不会收到webhook推送或新的增量。

对于所有其他更改类型,例如新文件,重命名文件,甚至“与特定人员共享”,这两种方法都显示新事件。

我的问题是:它应该起作用(有关通过链接共享项目的任何通知)?我是在做错什么,还是API问题?

onedrive microsoft-graph

6
推荐指数
1
解决办法
206
查看次数

按公司名称过滤用户

我试图通过过滤来companyName过滤Azure Active Directory 中的所有用户。

我使用的电话是

/v1.0/users?$select=id,mail,displayName,department&$filter=companyName%20eq%myComapny
Run Code Online (Sandbox Code Playgroud)

但它返回一个错误BadRequest

我在这里做错了吗?

azure-active-directory microsoft-graph-api

6
推荐指数
1
解决办法
1700
查看次数

使用 iis 托管 .net core 应用程序会出现数据库访问错误

我有一个在 IIS 7 中托管的 .Net Core 2.0 应用程序。

使用 IIS Express,应用程序工作正常,我能够成功连接到数据库。使用 IIS 我收到此错误:

无法打开"Books"登录请求的数据库。登录失败。用户 登录失败'DOMAINNAME\PCNAME$'

我的appsettings.production.json文件中的连接字符串如下所示:

"ConnectionStrings": {
 "BooksDatabase": "Server=PCNAME\\SQLEXPRESS;Database=Books;user id=iisAccess;password=iisPassword;Trusted_Connection=True;ConnectRetryCount=0;MultipleActiveResultSets=true"
};
Run Code Online (Sandbox Code Playgroud)

user id=iisAccess;password=iisPassword;我做错了什么,为什么当我将凭据放入 JSON 文件时显示“'DOMAINNAME\PCNAME$' 登录失败” ?

sql iis asp.net-core-2.0

6
推荐指数
1
解决办法
4899
查看次数

如何为Microsoft Graph刷新令牌

我正在使用以下方法连接到Microsoft Graph:

public GraphServiceClient GetAuthenticatedClient(string token)
{
    GraphServiceClient graphClient = new GraphServiceClient(
        new DelegateAuthenticationProvider(
            async (requestMessage) =>
            {
                // Append the access token to the request.
                requestMessage.Headers.Authorization = new AuthenticationHeaderValue("bearer", token);
            }));
    return graphClient;
}
Run Code Online (Sandbox Code Playgroud)

我正在服务器上运行此代码。我正在使用的令牌是由外部应用发送给我的。

在最初的一个小时内一切正常,然后令牌过期。

我的问题是:由于我也可以访问刷新令牌,因此如何获得新令牌?

c# microsoft-graph

6
推荐指数
2
解决办法
3582
查看次数

如何通过 Microsoft Outlook Calendar Graph API 查找重复异常

我目前正在使用 Microsoft Graph API 将日历事件同步到我的本地应用程序。最后,我不关心保存系列中的每个单独事件,而是更喜欢只保存系列母版,然后自己推断出系列的实例。出于这个原因,我使用 /me/events 调用而不是 /me/calendarView 调用。

我的问题是在编辑系列中的单个事件时。编辑单个事件后,我进行了 /me/events 调用,我可以看到新添加的“异常”类型——这很棒。但是,我不知道如何将该新事件与更改为导致异常的事件相关联。

例如,如果我在周一中午召开每周会议,并且我将今天的会议从中午更改为 2:00,则很容易判断出今天的会议是更改的会议。但是,如果我将今天的会议改为星期五,我怎么知道是今天的会议发生了变化,而不是下周的会议?请记住,我只存储 master,而不是每个 calendarView 事件。

另一个例子是如果我删除一个事件。在这种情况下, /me/calendarView 调用将不再返回该事件。不生成异常类型。并且从 /me/events 调用返回的系列 master 根本没有改变以指示缺少日期。

我习惯使用的格式类似于 iCal/vCal 格式,其中有开始日期、结束日期和例外日期列表。使用这种格式,我可以轻松地从系列母版中判断要跳过哪些日期,而无需“呈现”整个事件并跳过例外情况。如果一个事件被删除,它会被添加到 EXDATE 列表中,然后在渲染时从不考虑它。Microsoft Graph API 是否没有一种简单的方法来查看这些更改/删除的事件?

outlook-restapi microsoft-graph-api

6
推荐指数
1
解决办法
847
查看次数

通知端点验证不适用于 Laravel Endpoint

我正在使用 Microsoft Graph,需要设置一个 Webhook 来接收电子邮件和日历事件的更改。我能够让它与我的 PHP Laravel 应用程序一起工作,但现在我正在尝试订阅通知,我在验证notificationUrl指向我的公共服务器的 时遇到了问题。

用于创建 Webhook 的脚本返回以下错误:

Client error: POST https://graph.microsoft.com/v1.0/subscriptions resulted in a 400 Bad Request response: 
{ 
  "error": { 
     "code": "InvalidRequest", 
     "message": "Subscription validation request failed. Response must ex (truncated...)
Run Code Online (Sandbox Code Playgroud)

我相信被截断的部分是

订阅验证请求失败。必须对此请求响应 200 OK。

这是我创建订阅的代码:

$data = [
    "changeType" => "created",
    "notificationUrl" => "https://anatbanielmethod.successengine.net/office365/webhooks/events",
    "resource" => "me/events",
    "expirationDateTime" => "2018-12-20T18:23:45.9356913Z",
    "clientState" => "secret",
];

$result = $graph->createRequest('POST', '/subscriptions')
    ->attachBody($data)
    ->execute();
Run Code Online (Sandbox Code Playgroud)

这是我的方法notificationUrl

public function events()
{
    //if validationToken exists return …
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-5 microsoft-graph-api

6
推荐指数
1
解决办法
2883
查看次数