我正在尝试使用Graph API,我正在针对SharePoint网站进行身份验证作为资源URL。这是因为我使用C#CSOM api与sharepoint站点进行通信。
当我尝试使用相同的承载令牌制作图表api请求时,它表示未经授权。我也给了移动应用程序Graph API的权限。这是否意味着我的资源uri需要不同,如果是这样,它应该是什么,因为它不清楚?我不确定如何找到它。
我基本上想要使用azure权限将注册的应用程序提供给sharepoint和graph api。当我获得令牌时,我希望能够将此用于两种类型的请求
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Accept", "application/json");
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "TOKEN_FROM_AUTHENTCIATION");
var result = client.GetAsync("https://graph.microsoft.com/v1.0/me/messages?$select=subject,from,receivedDateTime&$top=25&$orderby=receivedDateTime%20DESC").Result;
我的连接详情与以下内容类似:
<add key="ida:AADInstance" value="https://login.microsoftonline.com/{0}" />
<add key="ida:Tenant" value="mytenant.onmicrosoft.com" />
<add key="ida:ApplicationId" value="A GUID" />
<add key="ida:RedirectUri" value="http://AnyUri/" />
<add key="ida.ResourceUrl" value="https://mytenant.sharepoint.com/" />
我认为我的 ResourceUrl 需要是一个图形api但不能理解它应该是什么,我是否必须为我的域创建图形api的实例?
我正在使用fiddler使用令牌发出此请求,如下所示,但这又作为未经授权的401回复
GET https://graph.windows.net/22312560-20c8-0000-0000-0000000000/users/user@microsoft.com/$links/manager?api-version=1.6
Content-Type: text/json
Accept: application/json
Host: graph.windows.net
Content-Length: 0
Authorization: Bearer <THE_TOKEN>
答案 0 :(得分:1)
以下是您需要遵循的步骤,以确保您的应用按预期工作:
确保您的应用注册时间permissions to the Microsoft Graph具有进行API调用所需的范围。
将您的资源设置为&#34; https://graph.microsoft.com/&#34;