小编Ale*_*lex的帖子

如何从graph.microsoft.com获取Azure租户名称?

我需要发现用户的租户名称,因为服务端点resourceId我将使用Azure服务,要求我指定租户名称:

服务端点: https:// [tenantnamme] .api.crm.dynamics.com / ...
资源ID: https:// [tenantname] .crm.dynamics.com

我希望Unified Microsoft Graph API可以为我发现这一点.我查看了文档,我能看到的最接近的是使用graph.microsoft.com/v1.0/organization,它会返回给我:verifiedDomains:[...."name":"contoso.onmicrosoft.com"]

但是,我不确定这是否是正确的方法.如果组织有多个经过验证的域名怎么办?验证的域名是否与租户名称相同?

更新:这是我的真实场景.我有一个Web应用程序,允许用户通过OAuth2对Azure AD进行身份验证.从OAuth交互中获取刷新令牌和访问令牌没有问题.但是,在使用其他服务的其他服务中,它在服务端点需要[azure-ad-tenant-name].这是我的问题.

azure-active-directory azure-ad-graph-api microsoft-graph

7
推荐指数
2
解决办法
3013
查看次数

将多个游标作为变量传递给 GitHub GraphQL API?

我正在根据组织 ID 列表查找组织成员。每个组织都有一个分页的成员列表,带有endCursor. 由于每个endCursor都不同,并且每个组织都有不同数量的成员(和不同数量的页面),我如何将不同的游标作为变量传回?如果是这样,每个游标如何与上一个查询中的组织 ID 相关联?

query($orgIds:[ID!]!, $page_cursor:String) { // not sure how to pass in the cursor when different length lists are returned
    nodes(ids:$orgIds) {
        ... on Organization {
            id
            members(first: 100, after: $page_cursor) {
            edges {
                node {
                    id
                }
            }
            pageInfo {
                endCursor
                hasNextPage
            }
        }    
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经阅读了http://graphql.org/learn/pagination/,但我没有看到任何与为同一个边列表传递多个游标相关的内容。

github-api graphql

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

microsoft graph api和Azure v2.0的测试环境

我正在使用 MS 图形端点集成 OneNote 应用程序。为了对用户进行身份验证,我使用 azure v2.0 端点。microsoft graph platform、onenote 和 azure 提供的测试/沙箱环境是否相同。

目前我使用的端点如下 -

  1. 获取 onenote 笔记本 - https://graph.microsoft.com/v1.0/me/onenote/notebooks

  2. 使用 Azure v2.0 对用户进行身份验证 - https://login.microsoftonline.com/common/oauth2/v2.0/authorize https://login.microsoftonline.com/common/oauth2/v2.0/token

这些端点适用于所有环境,包括开发/生产/测试。我们在https://apps.dev.microsoft.com/注册的应用程序类型是否重要?

azure onenote onenote-api microsoft-graph-api

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

MS Graph API C#将用户添加到组

我一直在调查如何使用Microsoft Graph API(nuget上可用的dotnet/C#库)从Azure AD组添加(以及稍后删除)用户.

Nuget MS Graph API

忽略所有其他的连接GraphServiceClient等等.我正在尝试与下面的示例非常相似的代码,没有得到任何异常(建议事情很好)但是当我再次通过API获得该组时,它仍然没有任何成员!

修改尝试后返回组对象的快速监视

有趣的是(作为旁白),当我memberOfuser对象上请求属性并告诉它扩展它时,它仍然返回null.

var user = await client.Users[userPrincipalName]
             .Request()
               .Select("id,memberOf")
                 .Expand("memberOf")
                   .GetAsync();

var group = await client.Groups[groupId]
              .Request()
                .Select("members")
                  .Expand("members")
                    .GetAsync();

group.Members.Add(user);

await client.Groups[groupId].Request().UpdateAsync(group);

// userPrincipalName => "test.user@mytenant.com"
// groupId => the object GUID for the group
Run Code Online (Sandbox Code Playgroud)

有谁知道我在这里做错了什么?我用来提供此代码的文档基于以下文档的链接:

'group'的API文档

将成员添加到组

此外,我尝试在此处建议的解决方案上设置方法,为用户设置许可证:

通过Graph API分配用户许可证

像往常一样,谢谢你的帮助.

彼得

额外

我也尝试在图API中寻找可能更新.Members属性/资源而不是组本身:

await client.Groups[groupId].Members.Request(). // <-- Only has GetAsync()
Run Code Online (Sandbox Code Playgroud)

但它只有GetAync()可用的方法.

根据答案更新

var usersGroups = await client.Users[userPrincipalName].MemberOf.Request().GetAsync();

if (!usersGroups.Any(g …
Run Code Online (Sandbox Code Playgroud)

c# api azure microsoft-graph

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

OneDrive API(休息)。驱动器上的文件夹和文件

我尝试使用 API https://dev.onedrive.com/getting-started.htm与 OneDrive 集成

我使身份验证工作,我可以获得帐户中的驱动器列表。当我执行 API 调用 /me/drives 时,我得到了很好的驱动器列表。

但是我找不到如何获取驱动器上的文件夹列表、文件夹的子文件夹等。

从文档中我可以看到有一些 API,但它对我不起作用。 https://dev.onedrive.com/items/list.htm

我必须执行。

GET /drive/items/{item-id}/children
GET /drive/root:/{item-path}:/children
Run Code Online (Sandbox Code Playgroud)

但它不起作用。我有一个驱动器列表中的驱动器 ID。当我执行 GET /drive/items/DRIVEID/children 时出现错误“拒绝访问。您无权执行此操作或访问此资源。”

这个操作怎么做?我应该使用驱动器 ID 还是名称?也许 url 是错误的,如果我有驱动器名称和 ID,那么正确的 url 必须是什么?

onedrive microsoft-graph-api

0
推荐指数
1
解决办法
3246
查看次数