- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试通过 Microsoft Graph 从共享点列表中获取项目列表。
这是我用来获取应用程序 token 的方法:
public async Task<string> GetAppToken(string tenantId, string clientId, string clientSecret)
{
var host = "https://login.microsoftonline.com";
var tokenUri = $"/{tenantId}/oauth2/v2.0/token";
var contentType = "application/x-www-form-urlencoded";
var requestedResource = "https%3A%2F%2Fgraph.microsoft.com%2F.default";//&resource=https%3A%2F%2Fgraph.microsoft.com%2F.default
var request = $"grant_type=client_credentials&client_id={clientId}&client_secret={clientSecret}&scope={requestedResource}";
var resultContent = "fail";
using (var client = new HttpClient())
{
client.BaseAddress = new Uri(host);
var content = new StringContent(request, Encoding.UTF8, contentType);
var result = await client.PostAsync(tokenUri, content);
resultContent = await result.Content.ReadAsStringAsync();
}
var json = JsonConvert.DeserializeObject<dynamic>(resultContent);
return json.access_token;
}
"Mail.ReadWrite",
"Device.ReadWrite.All",
"User.ReadWrite.All",
"Domain.ReadWrite.All",
"Calendars.Read",
"Group.Read.All",
"Directory.ReadWrite.All",
"MailboxSettings.Read",
"Contacts.ReadWrite",
"Group.ReadWrite.All",
"Notes.Read.All",
"User.Invite.All",
"Files.ReadWrite.All",
"Directory.Read.All",
"User.Read.All",
"Files.Read.All",
"Mail.Read",
"Calendars.ReadWrite",
"Mail.Send",
"MailboxSettings.ReadWrite",
"Contacts.Read",
"IdentityRiskEvent.Read.All",
"Member.Read.Hidden",
"Reports.Read.All",
"Notes.ReadWrite.All"
token = await GetAppToken();
var client = new HttpClient();
var queryString = new NameValueCollection();
client.DefaultRequestHeaders.Authorization
= new AuthenticationHeaderValue("Bearer", token);
var uri = $"https://graph.microsoft.com/beta";
var path = $"/sites/{siteId}/lists/{listId}/items";
var responseString = string.Empty;
try
{
var response = await client.GetAsync($"{uri}{path}");
if (response.Content != null)
{
responseString = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseString);
}
}
catch (Exception ex)
{
Console.Write(ex.ToString());
}
> var path =
> "/sites/[sitecol-guid],[site-guid]/lists/[list-guid]/items";
{
"@odata.context":"graph.microsoft.com/beta/$metadata#sites('host, site-id')/lists('list-id')/items",
"value":[]
}
var path = "https://graph.microsoft.com/beta/sharepoint:/{list-path}"
"Resource not found for the segment 'items'.",
最佳答案
这是我花了一段时间才从文档中弄清楚的事情。
首先,在你让它在 Microsoft Graph Explorer 上工作之前不要以编程方式做任何事情 - 这只是浪费时间。
其次,测试版还没有为您的生产系统做好准备,所以尽管它运行良好,但不要依赖它,而是使用 REST API 的 v1.0。
如果您知道站点和列表的 ID,则所有 URL 都将以以下之一开头:
https://graph.microsoft.com/v1.0/sites/{siteId}/lists/{listId}/
https://graph.microsoft.com/beta/sites/{siteId}/lists/{listId}/
listId
,假设我们正在查看根站点中的列表,我们可以通过在
Microsoft Graph Explorer 中使用此 URL 并单击
运行查询 来获取它们:
https://graph.microsoft.com/v1.0/sites/{siteId}/lists
https://graph.microsoft.com/v1.0/sites/root/lists
https://graph.microsoft.com/v1.0/sites/{siteId}/lists/{listId}/columns
https://graph.microsoft.com/v1.0/sites/root/lists/ff34268a-d9ff-49c0-99a9-75c6b2eee62e/columns
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#sites('root')/lists('ff34268a-d9ff-49c0-99a9-75c6b2eee62e')/columns",
"value": [
{
"columnGroup": "Custom Columns",
"description": "",
"displayName": "Title",
"enforceUniqueValues": false,
"hidden": false,
"id": "fa564e0f-0c70-4ab9-b863-0177e6ddd247",
"indexed": false,
"name": "Title",
"readOnly": false,
"required": true,
"text": {
"allowMultipleLines": false,
"appendChangesToExistingText": false,
"linesForEditing": 0,
"maxLength": 255
}
},
...
]
}
https://graph.microsoft.com/v1.0/sites/{siteId}/lists/{listId}/items?expand=fields
https://graph.microsoft.com/v1.0/sites/root/lists/ff34268a-d9ff-49c0-99a9-75c6b2eee62e/items?expand=fields
expand=fields
查询,它实际上添加了列表中项目的值
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#sites('root')/lists('ff34268a-d9ff-49c0-99a9-75c6b2eee62e')/items",
"value": [
{
"@odata.etag": "\"6a84a626-dae9-40eb-9c6d-899c6a05ffa8,3\"",
"createdDateTime": "2017-01-03T11:11:42Z",
"eTag": "\"6a84a626-dae9-40eb-9c6d-899c6a05ffa8,3\"",
"id": "1",
"lastModifiedDateTime": "2017-01-10T18:24:58Z",
"webUrl": "https://myexample.sharepoint.com/Lists/Some%20Contacts/1_.000",
"createdBy": {
"user": {
...
}
},
"lastModifiedBy": {
"user": {
...
}
},
"parentReference": {},
"contentType": {
"id": "0x010062202D579C40994CA18FDBA6760B9545"
},
"fields@odata.context": "https://graph.microsoft.com/v1.0/$metadata#sites('root')/lists('ff34268a-d9ff-49c0-99a9-75c6b2eee62e')/items('1')/fields/$entity",
"fields": {
"@odata.etag": "\"6a84a626-dae9-40eb-9c6d-899c6a05ffa8,3\"",
"Title": "Dr",
"First_x0020_Name": "David",
"Surname": "Simpson",
"Location": "Nottingham",
"First_x0020_Created": "2017-01-03T08:00:00Z",
"Age@odata.type": "#Single",
"Age": 25,
"id": "1",
"ContentType": "Item",
"Modified": "2017-01-10T18:24:58Z",
"Created": "2017-01-03T11:11:42Z",
"AuthorLookupId": "11",
"EditorLookupId": "11",
"_UIVersionString": "1.0",
"Attachments": false,
"Edit": "",
"LinkTitleNoMenu": "Dr",
"LinkTitle": "Dr",
"ItemChildCount": "0",
"FolderChildCount": "0",
"_ComplianceFlags": "",
"_ComplianceTag": "",
"_ComplianceTagWrittenTime": "",
"_ComplianceTagUserId": ""
}
},
...
]
}
offline_access Sites.ReadWrite.All
作为 OAuth 舞蹈的范围。前者允许 token 刷新;后者用于在 Microsoft Graph 中访问 SharePoint Online。
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
?client_id=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX
&response_type=code
&redirect_uri=https%3A%2F%example.ngrok.io%2Foauth2%2Fcallback
&response_mode=query
&scope=offline_access+openid+Sites.ReadWrite.All
&prompt=consent
关于sharepoint - 通过 Microsoft Graph 请求时列出项目为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43759346/
我必须使用 powershell 将 csv 文件字段上传到 Sharepoint 2010 列表中。我在 Windows XP 机器上工作。 当我尝试添加 pssnapin 时 Add-PSSnap
我需要以编程方式与来自 SharePoint 外部的 SharePoint 文件夹、文件和列表进行交互。大多数教程侧重于在 SharePoint 本身内工作,或者至少在安装 SharePoint 的同
我正在将用户写入 SharePoint 列表。 我读过 SharePoint 用户字段中有一个这样的字符串:userId;#userLoginName 在写入用户字段时,我尝试以相同的方式进行格式化,
是否可以在“提供商托管应用程序”中使用 SharePoint 左侧导航栏。 SharePoint 网站“PlaceHolderLeftNavBar”上显示的导航。有没有像某些 ajax 调用或 RES
我正在编写一个使用客户端对象模型访问 SharePoint 站点的应用程序,并且我在代理服务器后面。 我打电话... ClientContext.ExecuteQuery() 并收到以下错误消息...
我在远程计算机上有一个 SharePoint 2013 服务器。 我安装了这个:https://www.microsoft.com/en-us/download/details.aspx?id=355
我对强大的应用程序还很陌生,并试图为我的以下场景确定最佳行动方案。我想根据每个新的月度文件确定哪些用户提交了列表 A,哪些用户没有提交。 我在我创建的 Sharepoint 上有一个列表(列表 A),
我有两个共享点列表。 List1 - 这包含所有用户并且主键为 UserIdList2 - 这包含所有类(class),主键为 CourseId 现在我想定义第三个列表,它将其主键作为复合键。List
sharepoint 公告列表中的过期项目会怎样?我可以得到所有项目包括过期项目吗? 最佳答案 它们本身没有任何变化 - 它们只是使用带过滤器的 View 从显示中过滤掉。 这是使用的过滤器:- 你可
我有一个由其他人编程的页面布局 PeopleSearchResults.aspx。 它包含以下标签 SharePoint refine people search results control .
嗨,我想知道我可以使用哪种布局来获取右上角的搜索框。我使用(欢迎页面)空白Web部件页面)作为页面布局,但是它缺少右上角的搜索框。 还有另一个问题:如何在“创建页面”页面的列表中添加自己的布局。谢谢。
我正在拼命寻找一种工具,允许我将旧版本的文档从 SharePoint 2003 复制到 SharePoint 2007 站点。 你知道有什么简单的(最好是免费的)工具可以做到这一点吗? 最佳答案 这对
我可以在现成的SharePoint Web部件(RSS Viewer和Data View Web部件)中使用几个不同的.NET XSLT函数。 ... More...
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
我需要使用默认共享点过滤器 Web 部件传递的值。我看不到自定义共享点 Web 部件如何建立连接并获取数据。这可能吗? 已更新 提供者 WebPart 是默认的 SharePoint 列表过滤器 We
有一个关于同一主题的类似问题,但我正在添加这个问题并且之前的讨论已经解决。 这是原始问题的链接:Auto number column in SharePoint list 我现在试图找出在 MOSS
我们正在开发一个使用集成身份验证的 Intranet 门户,但站点的一些部分将暴露给不在域中的用户。对于这些用户,我们计划使用匿名访问。但是,我们整个应用程序的显示逻辑是基于登录到门户的用户,因此我们
市场上是否有任何工具可以有效分析 SharePoint 列表中的数据?我有一个客户希望分析和报告存储在 SharePoint 中的员工绩效数据。 最佳答案 Does SSRS give you any
我使用以下方法将文档上传到 sharepoint 文档库。 但是,在执行查询时 - 收到以下错误: 消息 = “远程服务器返回错误:(400) 错误请求。” 文件失败超过 1mb,所以我通过 shar
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 9 年前。 Improve
我是一名优秀的程序员,十分优秀!