gpt4 book ai didi

outlook - 从 MS Graph API 获取联系人时未找到资源

转载 作者:行者123 更新时间:2023-12-05 05:11:56 25 4
gpt4 key购买 nike

我在下面的 github 示例中尝试了 Azure AD 身份验证,并成功获得了具有正确回调 URL 的访问 token 。

https://github.com/Microsoft/BotBuilder-Samples/tree/master/samples/csharp_dotnetcore/18.bot-authentication

根据我在 https://apps.dev.microsoft.com 中创建的应用程序修改和配置 Web.config key

  <add key="ActiveDirectory.Mode" value="v1" />
<add key="ActiveDirectory.ResourceId" value="https://graph.microsoft.com" />
<add key="ActiveDirectory.EndpointUrl" value="https://login.microsoftonline.com" />
<add key="ActiveDirectory.Tenant" value="xyz-xyz" />
<add key="ActiveDirectory.ClientId" value="xyz-xyz" />
<add key="ActiveDirectory.ClientSecret" value="xyz-xyz" />
<add key="ActiveDirectory.RedirectUrl" value="http://localhost:3979/api/Callback" />
<add key="ActiveDirectory.Scopes" value="Calendars.Read,Calendars.ReadWrite,Contacts.Read,Contacts.ReadWrite,Mail.Read,Mail.ReadWrite,User.Read" />

我已经越过了我收到的检查访问 token jwt.ms .它是一个有效的 token ,其范围定义与我在 web.config 中定义的完全相同。

我可以通过传递 token 从 API 获取用户配置文件数据,但是在尝试调用用户的“联系人”时,出现以下错误。

{
"error": {
"code": "ResourceNotFound",
"message": "Resource could not be discovered.",
"innerError": {
"request-id": "6f0f3ec9-76c9-4662-ac25-0bc73f887268",
"date": "2019-03-02T17:23:35"
}
}

代码调用 Contact API 调用。

   //Get Logged in user contacts
public async Task<IUserContactsCollectionPage> GetMyContactsAsync()
{
var graphClient = GetAuthenticatedClient();
IUserContactsCollectionPage contacts = await graphClient.Me.Contacts.Request().GetAsync();
return contacts;
}

仅供引用:在模拟器中显示的登录卡授权示例 URL 如下所示

https://login.microsoftonline.com/a76b43b0-3088-4c56-ba0d-01f317b1f18c/oauth2/authorize?resource=https:%2F%2Fgraph.microsoft.com&client_id=XYZ&response_type=code&haschrome=1&redirect_uri=http:%2F%2Flocalhost:3979%2Fapi%2FCallback&x-client-SKU=PCL.Desktop&x-client-Ver=3.13.9.1126&x-client-CPU=x64&x-client-OS=Microsoft+Windows+NT+10.0.16299.0&state=<stateID>

最佳答案

发生这种情况的原因有很多,其中一个非常常见的问题是需要向您注册的应用程序授予权限。确保您已相应地完成以下步骤。

第 1 步:

登录到您的门户并在应用注册下选择您的应用程序。然后点击设置查看下面的屏幕截图:

enter image description here

第 2 步:

单击“设置”后,新窗口将出现在右侧,单击“需要的权限”菜单:请参见下面的屏幕截图:

enter image description here

第 3 步:

选择 Required Permission Menu 并通过单击 Add 按钮分配您的权限请参阅下面的快照:

enter image description here

第 4 步:

单击“选择一个 API”选项,如下所示:

enter image description here

最后一步:

选择您想要的 API 并勾选您想要访问的 API。完成许可后,单击“完成”。在此步骤之后,您可以从您的应用程序访问所需的资源/范围。希望对您有所帮助。谢谢。请看下面的屏幕截图:

enter image description here

关于outlook - 从 MS Graph API 获取联系人时未找到资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54961425/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com